SSLを要求するようにIIS 7を構成しました。非SSL要求を自動的にリダイレクトして暗号化できるかどうか疑問に思っています。
たとえば、ユーザーがhttp://domain.com
と入力した場合、IISは403エラーページを表示するのではなく、リクエストをhttps://domain.com
にリダイレクトできますか?
これを行うにはいくつかの方法がありますが、 RL Rewrite Module がインストールされている場合、それはかなり簡単であり、良い方法です。
以下の構成をサイトのweb.configファイルに貼り付けることができます (<system.webServer></system.webServer>
セクションで囲まれています)
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="https redirect">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="false" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_Host}{REQUEST_URI}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
またはIISのUIを使用して、以下のスクリーンショットのような新しいルールを作成できます。
rlRewriter.NET を使用することもできます。それで使用するルールは、次のようになります。
<rewriter>
<if header="HTTPS" match="^OFF$">
<redirect url="(.*)" to="https://yourdomain.com$1"/>
</if>
</rewriter>
最初に、SSL設定で「SSLが必要」を無効にする必要があります。それから、skotttのソリューションに従うことができます。
ところで、RuslanYブログのブログをフォローしました http://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/