Windows-Xp

當瀏覽器不支持 SNI 時會發生什麼

  • September 14, 2017

一個看似簡單的問題,但仍然有效。

當不支持 SNI 的瀏覽器嘗試訪問配置為通過 SNI 強制 SSL 的站點時,究竟會發生什麼。

謝謝

這取決於您的 Web 伺服器在接收到沒有 SNI 的 HTTPS 請求時的反應。(如果你想測試它,你可以用 openssl 模擬一個非 SNI 瀏覽器。需要基本的 HTTP 協議知識。)

使用 IIS 10,會發生以下情況:

  • 如果配置了“預設 SSL 站點”(綁定到埠 443 且沒有主機名的站點),非 SNI 客戶端將看到:

    • 預設(錯誤)SSL 站點的證書(通常會導致證書警告,除非您將預設 SSL 站點證書配置為包含在您的 IP 地址上託管的所有站點的 SAN)和
    • 請求(正確)站點的內容(在使用者解除證書警告後)。這很有意義:
    1. SSL 握手發生在可以傳輸 HTTP 請求之前。因此,如果沒有瀏覽器的 SNI 支持,伺服器別無選擇,只能返回預設的 SSL 站點證書。
    2. 建立 SSL 連接後(使用“錯誤”證書),伺服器接收 HTTP 請求,通過標頭讀取請求的主機名Host:並返回正確的內容。
  • 如果沒有配置“預設 SSL 站點”,連接將被關閉。

(來源:剛剛使用舊的 Windows XP IE8 虛擬機對其進行了測試。)

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