接入WAF后出現(xiàn)HTTPS訪問異常(HTTP是正常的),例如頁面打不開、提示證書不可信、部分接口調(diào)用失敗、部分機型、操作系統(tǒng)、App訪問報錯等問題,您可以參照本文提供的排錯方法來排查問題。

確認控制臺已選中HTTPS并已上傳證書

使用WAF防護HTTPS業(yè)務(wù)時,必須在WAF控制臺上選中HTTPS,并且上傳與服務(wù)器完全一樣的證書和密鑰。即使WAF與高防、SLB、CDN等其他產(chǎn)品一起使用時,也要在WAF上傳證書和密鑰。WAF的證書是獨立于其他產(chǎn)品。
說明 在控制臺上傳證書成功后,可能需要最多5分鐘的時間來使配置完全生效,在此期間可能出現(xiàn)訪問異常的現(xiàn)象。您可以綁定hosts(相關(guān)操作,請參見本地驗證),確保配置已經(jīng)生效之后,再將DNS解析切換過來。

確認證書鏈完整(常見錯誤)

多數(shù)情況下,證書服務(wù)商會提供給您多個證書(其中包含服務(wù)器的證書以及一個或多個CA根證書),這些證書組合成一個完整的證書鏈。以阿里云的證書為例,您收到的證書鏈如下圖所示。證書鏈,完整
請確保在WAF中上傳了完整的證書鏈而不是只有部分證書。請將多個證書文本內(nèi)容聯(lián)合到一起,并確保服務(wù)器證書在上面,根證書在下面。以下是您需要上傳的證書內(nèi)容的一個樣例。
-----BEGIN CERTIFICATE-----
……
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
……
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
……
-----END CERTIFICATE-----

如果證書鏈不完整,可能會出現(xiàn)打開頁面提示證書不可信,某些安卓手機、操作系統(tǒng)或App訪問報錯、異常等情況(可能部分環(huán)境下訪問是正常的)。

您也可以借助網(wǎng)上的第三方檢測工具(例如GeoCerts SSL Checker)來檢查當前的證書鏈是否完整。
說明 這種方式只能檢測當前解析到的域名狀態(tài)。假如您已經(jīng)將解析回源而沒有解析到WAF,是無法檢測WAF上的證書狀態(tài)的。

SNI問題

如果出現(xiàn)特定的一些客戶端或應(yīng)用程序不能正常訪問HTTPS業(yè)務(wù),提示“SSL handshake failed/error”或者證書不可信,則很可能是客戶端不支持SNI引起的。這些客戶端或應(yīng)用程序可能是舊版本的安卓,低版本Java開發(fā)的一些調(diào)用程序(特別是使用SSL協(xié)商的程序)、XP系統(tǒng)的IE瀏覽器、某些老款手機,以及第三方的支付回調(diào)接口等。

目前絕大部分的瀏覽器和應(yīng)用程序、微信、支付寶回調(diào)接口等都已全面支持SNI。如果您將解析切換回源站就恢復正常,切換到WAF就異常,則可能是這個問題。建議升級相關(guān)的客戶端,或者將回調(diào)接口直接解析回源。

更多信息,請參見SNI兼容性導致HTTPS訪問異常(服務(wù)器證書不可信)

Windows Server 2003、IIS6服務(wù)器

Windows Server 2003、IIS6服務(wù)器在接入WAF后,訪問HTTPS業(yè)務(wù)會出現(xiàn)白屏和502現(xiàn)象。這是因為系統(tǒng)TLS版本和加密套件過舊,安全性太弱,與WAF默認的HTTPS回源算法不兼容。目前,我們不再支持對2003系統(tǒng)的HTTPS回源,微軟官方也已不建議使用2003系統(tǒng)搭建HTTPS站點。為了您的通信安全,請升級至2008或以上的操作系統(tǒng)。

DH密鑰太短導致連接失敗

因為過短的DH(Diffie-Hellman)密鑰存在安全問題,WAF已經(jīng)停止對短密鑰的支持。同樣的,當您使用較新版本的火狐瀏覽器(例如51.0.1)不經(jīng)過WAF訪問源站,也會看到相應(yīng)的報錯信息。連接失敗,火狐
請升級相關(guān)組件(例如JDK版本),確保服務(wù)器DH算法的key位數(shù)為2048比特或更大。
說明 Key的長度是服務(wù)器加密算法決定的,與證書無關(guān)。如果您不知道如何操作,請聯(lián)系您的服務(wù)器開發(fā)人員,或搜索相關(guān)的解決方案。您可以根據(jù)以下報錯信息來查找相關(guān)解決方案:SSL routines:ssl3_check_cert_and_algorithm:dh key too small

需要HTTP跳轉(zhuǎn)的業(yè)務(wù)也需要選中HTTP

如在源站服務(wù)器做了訪問HTTP強制跳轉(zhuǎn)到HTTPS的設(shè)置,則必須在WAF上選中HTTPHTTPS。否則,HTTP請求到了WAF后,無法正常轉(zhuǎn)發(fā)回源站,也會報錯。