標籤:deb bsp 分享 下載 version XML 檔案 match 大致
最近客戶一個網站升級至HTTPS協議訪問,但是為了使用者輸入,客戶要求當使用者輸入的是HTTP協議時,能自動定向到HTTPS,類似百度網站,當你輸入www.baidu.com並斷行符號後,地址欄自動變成了https://www.baidu.com。
以前步驟簡要介紹了如何?該功能。
1)下載並安裝Microsoft URL 重寫模組
https://www.microsoft.com/zh-CN/download/details.aspx?id=7435
備忘:根據不同的系統,不同的語言選擇。
我的機器是英文版的,所以以下基本都為英文。
2) 網站綁定以下兩種協議:
注意:預設的https連接埠號碼為443, 因為我本機這個連接埠已經被利用,所以此處以449示範。
3)網站的SSL設定,確保“Require SSL”未選中。
3)如果是ASP.NET網站,則直接在Web.config檔案中添加以下配置節,作為<configuration>的子項目放在檔案末尾即可。
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}:449/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>
注意:當你使用預設HTTPS連接埠時,上面的連接埠號碼449就不需要了,直接為https://{HTTP_HOST}/{R:1}
上面的配置也可以直接在IIS中的URL Write中手動添加,完成後大致如下:
Web.config配置:
<?xml version="1.0" encoding="utf-8"?><!-- 有關如何配置 ASP.NET 應用程式的詳細資料,請訪問 http://go.microsoft.com/fwlink/?LinkId=169433 --><configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> </system.web><system.webServer> <rewrite> <rules> <rule name="Redirect to https" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> <add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}:449/{R:1}" redirectType="SeeOther" /> </rule> </rules> </rewrite> </system.webServer></configuration>
IIS HTTP重新導向到HTTPS