安裝了多個證書的 SSL 重定向的最佳 IIS 配置
我有一個安裝了萬用字元 SSL 證書 (*.mydomain.com) 的 IIS7/WinServer2008 配置。Web 伺服器擁有多個網站,每個網站都配置為通過主機標頭從同一 IP(稱為 IP1)路由。有些站點配置為使用 SSL,有些則沒有。
所以我有…
a.mydomain.com -> SSL b.mydomain.com -> non-SSL c.mydomain.com -> SSL d.mydomain.com -> non-SSL e.mydomain.com -> non-SSL
ETC…
對於上面的範例站點 A 和 C(SSL 站點),我希望標準 HTTP URL 重定向到 HTTPS。因此,在 IIS 的根目錄(紅色箭頭),我通過添加自定義狀態程式碼 403.4 來配置錯誤頁面設置(有關設置,請參見下文)。
redirectHttpToHttps.htm 文件的內容是…
<html> <head><title>Redirecting...</title></head> <script language="JavaScript"> function redirectHttpToHttps() { var httpURL= window.location.hostname + window.location.pathname + window.location.search; var httpsURL= "https://" + httpURL; window.location = httpsURL; } redirectHttpToHttps(); </script> <body> </body> </html>
然後對於 A 和 C 站點,我用 SSL 綁定(專門路由到 IP1)替換了舊綁定,並將 SSL 設置設置為“需要 SSL”。
所以一切都很好。站點 A 將http://a.mydomain.com>重定向到<https://a.mydomain.com,同樣,站點 C 也做同樣的事情。
現在我有一個非萬用字元 SSL 證書要引入到組合中。這適用於綁定到 aaa.customerdomain.com 的站點。因此,我將證書添加到我的 IIS 伺服器,並將 aaa.customerdomain.com 站點的綁定更改為使用 SSL 綁定與新證書並針對新 IP2。
所以現在如果我導航到https://aaa.customerdomain.com>,一切都很好。但是,我不知道如何讓<http://aaa.customerdomain.com重定向到 SSL 版本。
有人可以幫助我以正確的方式配置 IIS,以便我可以完成所有這些工作嗎?
要在 IIS 中處理各種類型的重定向,請嘗試使用 url 重寫模組
http://www.iis.net/downloads/microsoft/url-rewrite
然後將其添加到每個站點的 web 配置中以進行 http 到 https 重定向:
<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>
您還可以通過 IIS url 重寫模組介面使用 GUI 完成此操作: