2013-05-07 107 views
1

我試圖讓所有HTTP請求重定向到HTTPS。 這裏是我的web.config:IIS 7.5 HTTP到HTTPS重定向

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <handlers accessPolicy="Read, Execute, Script" /> 
    </system.webServer> 


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

</configuration> 

我發現這個樣品在另一篇文章#2: How to force HTTPS using a web.config file

當我保存文件並嘗試使用我的站點http並不重定向到訪問HTTPS 。

我想,也許該文件已被忽略,所以我鍵入一些不正確的語法到web.config文件,然後我得到了一個500錯誤 - 這意味着它的確是在看web.config文件。

我誤解了上面的配置應該做什麼?我想將所有HTTP請求重定向到HTTPS。

正在重定向到的站點是Tomcat的虛擬目錄,如果它有所作爲。

回答

4

假設您已安裝URL重寫。 Click here for info/installation.

確保你有以下的URL重定向中的IIS管理器中配置。

匹配URL部分

請求的URL:匹配模式
使用:正則表達式
模式:(。*)

確保選中忽略大小寫檢查

條件第

邏輯分組:匹配所有
輸入:{HTTPS}
類型:匹配模式
模式:^ OFF $

動作區間

動作類型:重定向

操作屬性

重定向的URL:https:// {HTTP_HOST}/{R 1}
請確認「追加查詢字符串」被選中

重定向類型:查看其它(303)

+0

據我知道,我這樣做的軟件因爲不能有URL重寫。 Apache-Tomcat沒有提供用於URL重寫安裝的ActiveX文件。 – OrangeGrover 2013-06-30 22:21:17

+3

如果有涉及的第三方軟件,必須在第一篇文章在這個線程與任何其他重要信息一起被提及。上述說明將HTTP重定向到HTTPS。 – 2013-07-01 15:16:37

1

就試試這個:

<rule name="Redirect to HTTPS" stopProcessing="true"> 
<match url="(.*)" /> 
    <conditions> 
    <add input="{HTTPS}" pattern="^OFF$" /> 
    </conditions> 
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" /> 
</rule>