2015-09-11 164 views
9

我有我在IIS 7.0中託管的應用程序。 我必須確保它僅適用於HTTPS,而不適用於HTTP ,因此我已將以下規則包含在我的根配置中。http to https重寫太多的重定向循環IIS 7

 <rewrite> 
     <rules> 
      <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
       <match url="(.*)" /> 
       <conditions> 
       <add input="{HTTPS}" pattern="off" /> 
       </conditions> 
       <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" /> 
      </rule> 
     </rules> 
</rewrite> 

添加此規則,當我試圖訪問我下面的錯誤 頁面應用程序,我得到後導致了過多的重定向。清除您的本網站的Cookie或允許第三方Cookie可以解決此問題。如果沒有,這可能是一個服務器配置問題,而不是您的計算機的問題。以下是一些建議:稍後重新加載此網頁。詳細瞭解這個問題。

回答

11

把下面輸入條件:

<add input="{HTTPS}" pattern="on" /> 

相反的:

<add input="{HTTPS}" pattern="off" /> 
+0

這應該被標記爲答案,它的工作原理 – Frank

2

我們我們的ASP.NET應用程序託管在AWS與彈性負載平衡,並與接受了相關規則答案對我們來說並不奏效,並且一直造成無限的重定向。

這是終於爲我們工作的規則:

<rewrite> 
    <rules> 
     <rule name="HTTPS Rule behind AWS Elastic Load Balancer Rule" stopProcessing="true"> 
     <match url="^(.*)$" ignoreCase="false" /> 
     <conditions> 
      <add input="{HTTP_X_FORWARDED_PROTO}" pattern="^http$" ignoreCase="false" /> 
     </conditions> 
     <action type="Redirect" url="https://{SERVER_NAME}{URL}" redirectType="Found" /> 
     </rule> 
    </rules> 
</rewrite> 
+0

有人給這個人的OSCAR! 你剛剛救了我的命,讓我恢復了理智! 謝謝!上帝祝福你!! –

+0

@MarcioMartins:很高興幫助! :)乾杯! – SNag