Iis

安裝了多個證書的 SSL 重定向的最佳 IIS 配置

  • March 17, 2015

我有一個安裝了萬用字元 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 來配置錯誤頁面設置(有關設置,請參見下文)。

添加了客戶 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 重定向:

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

您還可以通過 IIS url 重寫模組介面使用 GUI 完成此操作: 在此處輸入圖像描述 在此處輸入圖像描述

引用自:https://serverfault.com/questions/672931