Reescriba la regla a HTTPS excepto cuando esté en localhost

Estoy usando la respuestadado aquí como la base para intentar agregar una regla de reescritura a mi archivo web.config. Quiero que coincida con cualquier url que no se esté ejecutando en localhost para forzar https.

Aquí está lo que tengo ahora:

<system.webServer>
  <rewrite> <!-- force https - https://stackoverflow.com/a/15119044/51 -->
    <rules>
      <rule name="Redirect HTTP to HTTPS" stopProcessing="true">
        <match url="^((?!localhost).)*$"/>
        <conditions>
          <add input="{HTTPS}" pattern="^OFF$"/>
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther"/>
      </rule>
    </rules>
  </rewrite>
</system.webServer>

Estoy tratando de usar unmirada negativa con el fin de que solo coincida con las direcciones URL que no incluyen "localhost" dentro de la dirección URL. Pero esto no está funcionando.

Entonces, ¿cómo debería configurarse esta regla para reescribir solo las URL no locales?

Respuestas a la pregunta(2)

Su respuesta a la pregunta