接入WAF後出現HTTPS訪問異常(HTTP是正常的),如頁面打不開、提示認證不可信、部分介面調用失敗、部分機型/作業系統/APP訪問報錯等問題,您可以參照本文提供的排錯方法來排查問題。

確認控制台已勾選HTTPS並已上傳認證

使用WAF防護HTTPS業務時,必須在WAF控制台上勾選HTTPS,並且上傳與伺服器完全一樣的認證/密鑰。即使WAF與高防、SLB、CDN等其他產品一起使用時,也要在WAF上傳認證/密鑰。WAF的認證是獨立於其他產品。
说明 在控制台上傳認證成功後,可能需要最多5分鐘的時間來使配置完全生效,在此期間可能出現訪問異常的現象。您可以綁定hosts,確保配置已經生效之後,再將DNS解析切換過來。

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

多數情況下,認證服務商會提供給您多個認證(其中包含伺服器的認證以及一個或多個CA根憑證),這些認證組合成一個完整的憑證鏈結。以阿里雲的認證為例,您收到的憑證鏈結如下圖所示。

請確保在WAF中上傳了完整的憑證鏈結而不是只有部分認證。請將多個認證常值內容聯合到一起,並 確保伺服器憑證在上面,根憑證在下面。以下是您需要上傳的認證內容的一個範例。
-----BEGIN CERTIFICATE-----
MIIFdDCCBFygAwIBAgIQFmr88Z0mn6rEleGaC6UVEzANBgkqhkiG9w0BAQsFADCB
Obc3E+7h0u6cUXaQAmFNZ2a...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFYjCCBEqgAwINMTYwNjA3MDAwMDAwmlTaWduLCBJbmMuMRLnN5bWNiLmNvbS9
wY2EzLWc1Lm1hbnRlY1BLSS0yLTU...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIG/TCCBeWgAwIBAgIQLMUH03pBzhUCrOR0SsKM+DANBgkqhkiG9w0BAQsFADB+
NzIDMgUHVibGljIFByaW1...
-----END CERTIFICATE-----

如果憑證鏈結不完整,可能會出現開啟頁面提示認證不可信,某些安卓手機、作業系統或App訪問報錯、異常等情況(可能部分環境下訪問是正常的)。

您也可以藉助網上的第三方偵查工具(如 GeoCerts™ SSL Checker)來檢查當前的憑證鏈結是否完整。
说明 這種方式只能檢測當前解析到的網域名稱狀態。假如您已經將解析回源而沒有解析到WAF,是無法檢測WAF上的認證狀態的。

SNI問題

如果出現特定的一些用戶端或應用程式不能正常訪問HTTPS業務,提示 “SSL handshake failed/error”或者認證不可信,則很可能是用戶端不支援SNI引起的。這些用戶端或應用程式可能是舊版本的安卓,低版本JAVA開發的一些調用程式(特別是使用SSL協商的程式)、XP系統的IE瀏覽器、某些老款手機,以及第三方的支付回調介面等。

目前絕大部分的瀏覽器和應用程式、微信、支付寶回調介面等都已全面支援SNI。如果您將解析切換回來源站點就恢複正常,切換到WAF就異常,則可能是這個問題。建議升級相關的用戶端,或者將回調介面直接解析回源。

更多資訊,請參考SNI 相容性導致HTTPS訪問異常(伺服器憑證不可信)

Windows Server 2003/IIS6伺服器

Windows Server 2003/IIS6伺服器在接入WAF後,訪問HTTPS業務會出現白屏和502現象。這是因為系統TLS版本和加密套件過舊,安全性太弱,與WAF預設的HTTPS回源演算法不相容。目前,我們不再支援對2003系統的HTTPS回源,微軟官方也已不建議使用2003系統搭建HTTPS網站。為了您的通訊安全,請升級至2008或以上的作業系統。

DH密鑰太短導致連結失敗

因為過短的DH(Diffie-Hellman)密鑰存在安全問題,WAF已經停止對短密鑰的支援。同樣的,當您使用較新版本的火狐瀏覽器(如51.0.1)不經過WAF訪問來源站點,也會看到相應的報錯資訊。

請升級相關組件(如JDK版本), 確保伺服器DH演算法的key位元為2048 bit 或更大
说明 Key的長度是伺服器密碼編譯演算法決定的,與認證無關。如果您不知道如何操作,請聯絡您的伺服器開發人員,或搜尋相關的解決方案。您可以根據以下報錯資訊來尋找相關解決方案: SSL routines:ssl3_check_cert_and_algorithm:dh key too small

需要HTTP跳轉的業務也需要勾選HTTP

如在來源站點伺服器做了訪問HTTP強制跳轉到HTTPS的設定,則必須在WAF上勾選HTTP和HTTPS。否則,HTTP請求到了WAF後,無法正常轉寄回來源站點,也會報錯。