Nginx

為什麼啟用 TLS 1.2 時 Internet Explorer 11 無法連接到 HTTPS 站點?

  • January 29, 2020

通常我根本不使用 Internet Explorer。我只在設計時將它用於介面測試(開發機器和未加密的 http)。每週我都會執行 SSL Labs 伺服器測試,測試表明 IE11 能夠訪問我的網站。

今天,我發現我的第 3 方服務之一存在問題。某些特殊功能不適用於 Chrome 或 Firefox,因此我在 Windows 7 機器上啟動了 IE11。IE11 向我展示了一個內置的錯誤頁面,女巫基本上只說“頁面無法顯示”。和典型的 dummy bla bla 比如檢查 DNS 等等。整個錯誤頁面上絕對沒有任何加密相關問題的跡象(就像普通瀏覽器一樣)。

早在幾個月前,這個schannel問題就阻止了啟用 TLS1.2 的 IE 訪問 HTTPS 站點。從那時起,我的“IE 的 WTF 清單”包含“禁用 TLS1.2”作為檢查點。我應該說什麼…在 IE 中禁用 TLS1.2 有效,我的網站再次可用。但我不能在我的訪問者瀏覽器上這樣做。

現在回到真正的問題:**為什麼在 IE 中啟用 TLS 1.2 時Internet Explorer 11 無法連接到我的 HTTPS 站點?以及如何在伺服器端修復它?**SSL Labs 告訴我網站上的一切都很好

**重要編輯:**當啟用 TLS1.2 時,似乎 IE11 只能處理非前綴域而不是前綴域。沒有前綴 (www) 的域有效,而包含前綴 (www) 的域將不起作用

在伺服器端,我使用的是 debian/7 nginx/1.7.8 openssl/1.0.1e

可用的密碼是:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:-DES:!RC4:!MD5:!PSK:!aECDH:EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

您是否還啟用了 SSL 2.0?

根據http://support.microsoft.com/en-us/kb/2851628 “SSL 2.0 和 TLS 1.2 在 Windows 7 及更高版本的作業系統中相互不兼容。使用客戶端證書建立 HTTPS 連接通過 TLS 1.2,您必須禁用 SSL 2.0”。

今天在 Win 7 上使用 IE11 遇到了這個問題(完全更新了重要更新,但不是可選的更新),當使用Mozilla 的中間套件時,該套件在 XP 上與 IE8 配合良好,並且應該與 IE7+ 配合使用。以為我會在這裡發布這個問題並沒有在Google上出現太多其他問題。

花了一些時間與 wireshark 一起找出使它工作所需的最小修改。免責聲明:我不是加密專家,可能有更好的方法來做到這一點。但它根本沒有改變我的 ssllabs.com 評級。

將 ECDHE-RSA-AES128-SHA256(適用於 IE11 的第一個)移到 kEDH+AESGCM 和 DHE-RSA-AES128-GCM-SHA256 之上,以獲得中間套件:

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

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