IIS6:網站提供了錯誤的 SSL 證書
考慮一個帶有多個網站的 IIS6 安裝。每個都旨在成為具有自己證書(不是萬用字元證書)的不同子域。每個都有正確指定的主機頭。
foo.example.com
- 埠 443。需要帶 128 位的 SSL。好好工作!它將其 SSL 證書正確地呈現給瀏覽器。為特定 IP 地址配置。bar.example.com
- 埠 443。需要帶 128 位的 SSL。為所有未分配的地址配置。檢查 IIS 屬性頁時,它會bar.example.com
在“查看證書”按鈕上完全顯示證書。這是一個存在證書問題的新網站。它正在為 foo.example.com 提供證書。哎喲!替代文字 http://www.imagechicken.com/uploads/1251156847014486300.png
**問題:**您可以在同一埠(443)上使用 SSL 證書在不同網站上執行多個子域嗎?您將如何在同一埠 (443) 的“全部未分配”的同一範圍內配置 2 個網站?
**更新:**忽略證書錯誤,瀏覽到時
https://bar
,提供的內容來自https://foo
站點。不使用 SSL 時,瀏覽以
http://bar
提供來自bar
.只有一個地址分配給這個 DMZ 伺服器。
SSL 證書綁定到 Web 伺服器的內部 IP 地址,而不是外部 IP 地址。
假設您已
foo.example.com
綁定到Public IP A
和bar.example.com
onPublic IP B
,但您的 Web 伺服器只有 IP 地址 192.168.0.1無論請求是 on
IP A
還是IP B
,它仍然會在 192.168.0.1 結束。這意味著 IIS 別無選擇,只能使用分配給foo.example.com
.要解決此問題,您需要為 Web 伺服器分配多個 IP 地址。這很容易做到。與您的系統管理員交談以從 DHCP 範圍中刪除一些 IP(或詢問他/她您可以使用哪些 IP),然後轉到網卡的屬性(控制面板 > 網路連接),然後轉到 TCP 的屬性/IP。
您首先需要啟用一個靜態 IP(作為伺服器,我希望無論如何都可以這樣做),然後點擊“高級”,然後在“IP 地址”框下點擊“添加” - 並輸入新的 IP 地址您已由系統管理員分配(假設
192.168.0.2
)。然後,在您的路由器上,您需要確保來自埠 443 的請求發送
IP A
到埠 443 上192.168.0.1
的所有其他請求192.168.0.2
。然後,在您的 IIS 配置中,您需要將 SSL 證書從綁定
foo.example.com
到192.168.0.1
,並將其餘的綁定到192.168.0.2
(或保留為 All Unassigned,就像您一樣)。如果這不起作用,或者您已經進行了配置,請更新您的問題並發表評論讓我們知道。
**更新:**我剛剛看到您的評論,感謝您的更新。您需要確保
foo.example.com
並且bar.example.com
位於兩個不同的公共 IP 地址上。原因是因為數據包是加密的,所以您無法使用基於主機名的路由將請求發送到正確的 IP 地址(我相信是這種情況。如果有人知道不同,請告訴我)。對路由器可見的請求的唯一部分是目標 IP。這就是每個 IP 地址只能有一個 SSL 的原因。因此,您需要擁有公共 IP 才能使其正常工作,並且在您的 DNS 中,A 記錄bar.example.com
與foo.example.com
.