知識庫

SNI 技術

之前我們使用的 TLS 版本無法識別包含域名的 HTTPS 請求。當只有 IP 地址被請求時,它才能正確工作。因此,每個使用安全連接的域名都需要一個專用 IP。

cPanel 版本 11.38 及更高版本 開始,我們可以使用 SNI

伺服器名稱指示(SNI)TLS 協議的一項擴展,用於指示客戶端嘗試連接的主機名稱。

這使伺服器能夠在同一 IP 地址和端口號上呈現多個證書,從而允許同時存在多個安全 (HTTPS) 網站(或任何其他基於 TLS 的服務)。

但是,不幸的是,可能會出現一些問題:



SNI 與某些舊版本的網頁瀏覽器不兼容。
  • SNI 在 Windows XP + 任何版本的 Internet Explorer(6,7,8,9)上無法使用
  • Internet Explorer 6 或更早版本
  • Windows XP 上的 Safari
  • BlackBerry 瀏覽器
  • Windows Mobile 最高至 6.5
  • Nokia 瀏覽器(例如 Series60 的 Symbian)
  • Opera Mobile 在 Symbian 上至少是 Series60

網站仍然可以通過 HTTPS 訪問,但會出現證書不匹配的錯誤。


解決此問題的方法: 使用不同的瀏覽器訪問網站。此外,如果訪客同意使用不兼容瀏覽器的其他證書,則請求的網站將正常通過 HTTPS 打開,但將使用不同的證書來建立安全連接。相反,所有使用不兼容瀏覽器的訪問者將看到警告消息。


如果您嘗試使用伺服器 IP 地址獲得 HTTPS 訪問,可能會出現問題。

使用 IP 地址時,客戶端將收到我們為每個 IP 設定的 "默認" 證書(例如 serverX.web-hosting.com),並且如果 HTTPS 請求沒有指定站點名稱,則將到達在此 IP 上托管的第一個站點。

*支持 SNI 的瀏覽器列表:

  • Internet Explorer 7 或更高版本,運行在 Windows Vista 或更高版本上
  • Mozilla Firefox 2.0 或更高版本
  • Opera 8.0(2005 年)或更高版本(必須啟用 TLS 1.1 協議)
  • Opera Mobile 至少版本 10.1 beta 在 Android 上
  • Google Chrome(Vista 或更高,XP 在 Chrome 6 或更高版本中,OS X 10.5.7 或更高版本在 Chrome 5.0.342.1 或更高版本中)
  • Safari 3.0 或更高版本(Mac OS X 10.5.6 或更高版本和 Windows Vista 或更高版本)
  • Konqueror/KDE 4.7 或更高版本
  • MobileSafari 在 Apple iOS 4.0 或更高版本上
  • Android 默認瀏覽器在 Honeycomb(v3.x)或更高版本上
  • Windows Phone 7
  • MicroB 在 Maemo 上
  • Odyssey 在 MorphO