2012-03-06 62 views
3

ポート80と443の両方でリッスンするロードバランサがありますが、セキュリティポリシーのためロードバランサとWebサーバー間のトラフィックを暗号化する必要があります。 httpからhttpsへのリダイレクトを作成しようとしていますが、通常の方法は動作していません。これは、httpとhttpsの間の差異をIISが認識できないためです。これは、リクエストがWebサーバーに到達するまでに、すでに暗号化されてポート443に来ているためです。ポート443のLoad Balancerの背後にHTTPからHTTPSリダイレクト

今はweb.configに改造モジュールを使用していますが、リダイレクトは80 - > LB-> 80トラフィックであるが、80-> LB-> 443トラフィックではない。ここで

は私のweb.configファイルです:

<?xml version="1.0" encoding="UTF-8"?> 
    <configuration> 
    <system.webServer> 
     <rewrite> 
     <rules> 
     <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
      <match url="(.*)" /> 
      <conditions> 
       <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
      </conditions> 
      <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> 
     </rule> 
     </rules> 
     </rewrite> 
    </system.webServer> 
    </configuration> 

注意、web.configファイルのソリューションについて私が好きなもの(80〜のために動作するように変更できるのであれば> LB-> 443)リダイレクト作品ということですASP.NET以外のページについても。

アイデア?

答えて

0

httpからhttpsへのリダイレクトを行うようにロードバランサを設定できると思います。また、セキュアと非セキュアを示す余分なHTTPヘッダーまたはCGI変数を送信するようにロードバランサを設定することもできます。

関連する問題