同一 IP 上的多個 SSL 問題,但僅限於選定的客戶端
我知道有大量關於同一 IP 上的多個 SSL 的文章,但我保證我不會打敗一匹死馬。我的問題很清楚。首先,一點背景…
我們的組織有幾個電子商務網站。所有這些站點都在同一個 IP 上執行,使用 SNI 作為基於名稱的虛擬主機。在大多數情況下,這很好用。但是,在某些瀏覽器中(ie7 / ie8,但出於某種原因僅在某些機器上),我們收到報告說使用者看到域與 SSL 證書不匹配。事實證明,他們看到的是按字母順序排列的第一個 SSL 主機的 SSL 證書,因為 Apache 首先解析 IP 地址,然後抓取它認為正確的虛擬主機文件。
我對 SSL 協議做了一些試驗,發現如果我這樣設置它(ssl.conf):
SSL 協議 TLSv1
然後我只會在 IE 中找到任何 https 域的 not found 。
如果我在 ports.conf 中設置 SSLStrictSNIVHostCheck
SSLStrictSNIVHostCheck on
然後我會在有問題的瀏覽器中獲得拒絕的權限。
問題顯然是 IE 不支持或不使用 TLSv1 協議或 SNI,這兩者都是必需的。所以我的問題是…
是否可以進行配置更改以支持 IE,可能是在不同的協議下,還是我唯一的選擇是為每個需要 SSL 的虛擬主機使用單獨的 IP?
提前感謝=)
不幸的是,SNI 支持仍然相當缺乏。你沒有具體說明,但我敢打賭你有問題的 IE 瀏覽器是在 Windows XP 機器上,是嗎?Windows XP(或更早)的任何版本的 IE 都不支持 SNI;只有 Vista 和更高版本支持它,並且僅在 IE 7 和更高版本中。
有關支持 SNI 的瀏覽器列表,請參見此處。
我的建議:如果您需要支持缺乏 SNI 支持的客戶端(並且仍然存在大量 XP 系統,您很可能確實需要),那麼您將不得不實施不依賴於 SNI 的解決方案。