SEARCH
網站建設|網站制作|網站設計—蘇州企橋網絡科技(jì)有限公司

Internet Develppment互聯網開(kāi)發&推廣服務提供商

Search

與我們合作

我們專注:網站策劃設計、網絡多(duō)媒體傳播、網站優化及網站營銷、品牌策略與設計
主營業(yè)務:網站建設、移動端微信小(xiǎo)程序開(kāi)發、VI設計、網絡運營、雲産品·運維解決方案

有一(yī)個(gè)品牌項目想和我們談談嗎(ma)?

您可以填寫右邊的表格,讓我們了解您的項目需求,這是一(yī)個(gè)良好的開(kāi)始,我們将會(huì)盡快與您取得聯系。當然也歡迎您給我們寫信或是打電(diàn)話,讓我們聽到(dào)您的聲音(yīn)

您也可通(tōng)過下(xià)列途徑與我們取得聯系:

地 址:鹽城(chéng)大豐區黃海路(lù)海運大廈2樓212室

電(diàn) 話:176-5215-1102

手 機(jī):176-5215-1102

網 址:http://www.szqiqiao.cn

郵 箱:bgr@szqiqiao.com

快速提交您的需求 ↓

點擊更新驗證碼

網站安全之HTTPS部署解決方案

發布日期:2017-12-14 11:31:41

在最近幾年(nián)裡(lǐ),蘇州做網站公司寫了很多(duō)有關 HTTPS 和 HTTP/2 的文章,涵蓋了證書申請、Nginx 編譯及配置、性能(néng)優化等方方面面。在這些文章的評論中,不少讀(dú)者提出了各種各樣的問題,我的郵箱也經常收到(dào)類似的郵件(jiàn)。本文用來羅列其中有代表性、且我知道解決方案的問題。

為(wèi)了控制篇幅,本文盡量隻給出結論和引用鏈接,不展開(kāi)讨論,如有疑問或不同意見(jiàn),歡迎留言讨論。本文會(huì)持續更新,歡迎大家貢獻自(zì)己遇到(dào)的問題和解決方案。

實際上(shàng),遇到(dào)任何有關部署 HTTPS 或 HTTP/2 的問題,都推薦先用 Qualys SSL Labs’s SSL Server Test 跑個(gè)測試,大部分問題都能(néng)被診斷出來。
申請 Let’s Encrypt 證書時,一(yī)直無法驗證通(tōng)過

這類問題一(yī)般是因為(wèi) Let’s Encrypt 無法訪問你的服務器(qì),推薦嘗試 acme.sh 的 DNS 驗證模式 ,一(yī)般都能(néng)解決。
網站無法訪問,提示 ERR_CERTIFICATE_TRANSPARENCY_REQUIRED

使用 Chrome 53 訪問使用 Symantec 證書的網站,很可能(néng)會(huì)出現這個(gè)錯(cuò)誤提示。這個(gè)問題由 Chrome 的某個(gè) Bug 引起,目前最好的解決方案是升級到(dào) Chrome 54+。相(xiàng)關鏈接:

    Out of date Chrome results in ERR_CERTIFICATE_TRANSPARENCY_REQUIRED for Symantec operated sites ;
    Warning | Certificate Transparency error with Chrome 53 ;

浏覽器(qì)提示證書有錯(cuò)誤

首先确保網站使用的是合法 CA 簽發的有效證書,其次檢查 Web Server 配置中證書的完整性(一(yī)定要包含站點證書及所有中間證書)。如果缺失了中間證書,部分浏覽器(qì)能(néng)夠自(zì)動獲取但嚴重影響 TLS 握手性能(néng);部分浏覽器(qì)直接報(bào)證書錯(cuò)誤。

如果隻有老舊(jiù)浏覽器(qì)(例如 IE8 on Windows XP)提示這個(gè)錯(cuò)誤,多(duō)半是因為(wèi)你的服務器(qì)同時部署了使用不同證書的多(duō)個(gè) HTTPS 站點,這樣,不支持 SNI(Server Name Indication)的浏覽器(qì)通(tōng)常會(huì)獲得錯(cuò)誤的證書,從(cóng)而無法訪問。

要解決浏覽器(qì)不支持 SNI 帶來的問題,可以将使用不同證書的 HTTPS 站點部署在不同服務器(qì)上(shàng);還(hái)可以利用 SAN(Subject Alternative Name)機(jī)制将多(duō)個(gè)域名放(fàng)入同一(yī)張證書;當然你也可以直接無視這些老舊(jiù)浏覽器(qì)。特别地,使用不支持 SNI 的浏覽器(qì)訪問商業(yè) HTTPS CDN,基本都會(huì)因為(wèi)證書錯(cuò)誤而無法使用。

有關 SNI 的更多(duō)說明,請看(kàn)「 關于啓用 HTTPS 的一(yī)些經驗分享(二) 」。
啓用 HTTP/2 後網站無法訪問,提示 ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY

這個(gè)問題一(yī)般是由于 CipherSuite 配置有誤造成的。建議對照(zhào)「 Mozilla 的推薦配置 、 CloudFlare 使用的配置 」等權威配置修改 Nginx 的 ssl_ciphers 配置項。

有關這個(gè)問題的具體原因,請看(kàn)「 從(cóng)啓用 HTTP/2 導緻網站無法訪問說起 」。
網站無法訪問,提示 ERR_SSL_VERSION_OR_CIPHER_MISMATCH

出現這種錯(cuò)誤,通(tōng)常都是配置了不安全的 SSL 版本或者 CipherSuite —— 例如服務器(qì)隻支持 SSLv3,或者 CipherSuite 隻配置了 RC4 系列,使用 Chrome 訪問就(jiù)會(huì)得到(dào)這個(gè)提示。解決方案跟上(shàng)一(yī)節一(yī)樣。

還(hái)有一(yī)種情況會(huì)出現這種錯(cuò)誤 —— 使用不支持 ECC 的浏覽器(qì)訪問隻提供 ECC 證書的網站。例如在 Windows XP 中,使用 ECC 證書的網站隻有 Firefox 能(néng)訪問(Firefox 的 TLS 自(zì)己實現,不依賴操作系統);Android 平台中,也需要 Android 4+ 才支持 ECC 證書。如果是這種情況,有一(yī)個(gè)比較完美的解決方案,請看(kàn)「開(kāi)始使用 ECC 證書」。
在 Nginx 啓用 HTTP/2 後,浏覽器(qì)依然使用 HTTP/1.1

Chrome 51+ 移除了對 NPN 的支持,隻支持 ALPN,而浏覽器(qì)和服務端都支持 NPN 或 ALPN,是用上(shàng) HTTP/2 的大前提。換句話說,如果服務端不支持 ALPN,Chrome 51+ 無法使用 HTTP/2。

OpenSSL 1.0.2 才開(kāi)始支持 ALPN —— 很多(duō)主流服務器(qì)系統自(zì)帶的 OpenSSL 都低(dī)于這個(gè)版本,所以推薦在編譯 Web Server 時自(zì)己指定 OpenSSL 的位置。

GO 欣賞案例
查看(kàn)經典案例

TOP

QQ客服

QQ客服 免費(fèi)電(diàn)話
獲取報(bào)價
您的稱呼:

*

您的電(diàn)話:

*

您的郵箱:

*

提交 重置