web-dev-qa-db-ja.com

IIS localhostを無視するURL書き換えhttpsルール

HTTPS接続を強制するURL書き換えルールを記述しようとしています。これは、リクエストがlocalhost(例:http://localhost/mysite)。

ルールは次のように構成されています。

 <rule name="Redirect to https" enabled="true" stopProcessing="true">
      <match url="(.*)" negate="false" />
      <conditions trackAllCaptures="false">
           <add input="{HTTPS}" pattern="^OFF$" />
           <add input="{URL}" pattern="localhost" negate="true" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_Host}/{R:1}" />
 </rule>

また、URL条件のパターンとして^ localhostおよび^ localhost /(.*)を使用しようとしましたが、役に立ちませんでした。なぜこれが機能しないのか、そしてこの問題の解決策はどうあるべきかという考えを誰かが持っていますか?

28
One of many

代わりに、コードは次のようになります。

<rule name="Redirect to https" enabled="true" stopProcessing="true">
   <match url="(.*)" />
   <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
      <add input="{HTTPS}" pattern="off" />
      <add input="{HTTP_Host}" pattern="localhost" negate="true" />
   </conditions>
   <action type="Redirect" url="https://{HTTP_Host}/{R:1}" />
</rule>
39
Justin Iurman