web-dev-qa-db-ja.com

IIS 7 https://へのSSLの自動リダイレクトを要求する

SSLを要求するようにIIS 7を構成しました。非SSL要求を自動的にリダイレクトして暗号化できるかどうか疑問に思っています。

たとえば、ユーザーがhttp://domain.comと入力した場合、IISは403エラーページを表示するのではなく、リクエストをhttps://domain.comにリダイレクトできますか?

26
jdickson

これを行うにはいくつかの方法がありますが、 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を使用して、以下のスクリーンショットのような新しいルールを作成できます。

Screenshot of IIS rewrite rule for redirecting http traffic to https.

27
Scott Obert

rlRewriter.NET を使用することもできます。それで使用するルールは、次のようになります。

<rewriter>
    <if header="HTTPS" match="^OFF$">
        <redirect url="(.*)" to="https://yourdomain.com$1"/>
    </if>
</rewriter>
1
Protector one

最初に、SSL設定で「SSLが必要」を無効にする必要があります。それから、skotttのソリューションに従うことができます。

ところで、RuslanYブログのブログをフォローしました http://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/

1
Ray