在 IIS 7 中添加具有不同 SSL 證書的多個網站
我在 IIS 7 伺服器上為 2 個不同的網站使用 SSL 時遇到問題。請在下面查看我的設置:
網站 1:my.corporate.portal.com
網站 1 的 SSL 證書:*.corporate.portal.com
https/443 綁定到 my.corporate.portal.com
網站 2:client.portal.com SSL 證書頒發給:client.portal.com 當我嘗試將 IIS7 中的 https 與客戶端證書綁定時,我沒有選擇放置主機名(灰色),只要我選擇“client.portal.com”證書,我在 IIS 中收到以下錯誤:
At least one other site is using the same HTTPS binding and the binding is configured with a different certificate. Are you sure that you want to reuse this HTTPS binding and reassign the other site or sites to use the new certificate?
如果我點擊“是”,my.corporate.portal.com 網站將停止使用正確的 SSL 證書。
你能建議點什麼嗎?
為 Amazon 實例實施 Elastic Load Balancing 可解決該問題 ( http://aws.amazon.com/elasticloadbalancing/ )
通常,每個 SSL 站點都需要一個單獨的 IP,因此如果您嘗試綁定到同一個 IP,您將看到上述錯誤。
這是由於 SSL 的工作方式。伺服器在握手過程中無法讀取 HTTP 主機標頭,因此它無法使用該標頭資訊來選擇要使用的站點(和證書)。因此,IIS 中的證書基本上是按 IP 綁定的,而不是按站點綁定的。
如果您有適用於多個站點的萬用字元證書或 ASN 證書,您可以按如下方式進行設置:
- 將證書綁定到 IP 上的第一個站點
- 對於主機頭站點,在 inetsrv 文件夾中執行以下命令:
appcmd set site /site.name:"<IISSiteName>" /+bindings.[protocol='https',bindingInformation='*:443:<hostHeaderValue>']
將 和 替換為適當的值(例如,Website1 和 www.example.com)。
IIS8 支持SNI,以允許同一 IP 上的多個不相關 SSL 站點。請注意,SNI 僅在現代瀏覽器中受支持,因此如果您執行的是擁有廣泛受眾的商業網站,例如執行舊版本 Internet Explorer 的 Windows XP 使用者,它可能會給您帶來問題。