本文匯總CDN HTTPS配置相關的常見問題及排查方法,涵蓋認證上傳報錯、HTTPS訪問異常、裝置相容性和HTTPS效能最佳化等問題。
癥狀速查表
先根據用戶端觀測到的現象定位排查入口,再按對應章節的步驟逐項排查。
現象或報錯 | 常見原因 | 排查入口 |
控制台上傳認證時報錯 | 認證或私密金鑰格式錯誤、兩者不匹配、認證已到期 | |
HTTPS訪問失敗,HTTP訪問正常 | CDN未配置認證,或認證無效、與網域名稱不匹配 | |
瀏覽器報 | 用戶端與CDN節點的TLS協議版本或加密套件無交集 | |
瀏覽器提示“不安全”或認證風險 | 憑證鏈結不完整、認證到期、自我簽署憑證、網頁混合內容 | |
HTTP訪問未自動跳轉到HTTPS | 配置認證後未單獨開啟強制跳轉 | |
部分舊裝置或IoT裝置無法HTTPS訪問 | 用戶端不支援SNI,或憑證鏈結不完整 | |
HTTPS訪問慢、TLS握手耗時間長度 | OCSP查詢逾時、憑證鏈結過大、TLS協議版本較低、解析調度偏遠 |
如何判斷問題是否在HTTPS配置層
當您使用CDN加速網域名稱時,如果出現HTTPS相關的問題,可以按以下判斷思路定位問題層級:
認證設定階段報錯:在上傳或選擇認證時控制台直接報錯,屬於認證配置問題,參見認證配置與上傳報錯。
HTTPS訪問失敗但HTTP正常:通過HTTP協議可以正常訪問但HTTPS訪問失敗或提示認證錯誤,通常是CDN未配置SSL認證或認證配置有誤,參見HTTPS訪問異常。
瀏覽器提示認證風險:HTTPS可以訪問但瀏覽器顯示"不安全"或認證風險提示,屬於認證有效性或網頁混合內容問題,參見網站提示認證風險。
部分裝置無法訪問:大部分裝置正常但特定裝置(如停止維護的舊版作業系統、部分物聯網IoT裝置)無法通過HTTPS訪問,通常是SNI相容性問題,參見裝置與用戶端相容性。
HTTP未自動跳轉HTTPS:已配置HTTPS認證且HTTPS訪問正常,但HTTP訪問未自動跳轉到HTTPS,屬於跳轉配置問題,參見強制HTTPS跳轉。
回源HTTPS異常:用戶端訪問CDN正常,CDN回源時返回5xx或來源站點認證校正失敗,屬於回源配置問題,請參見回源排障指南。
認證配置與上傳報錯
HTTPS訪問異常
強制HTTPS跳轉
裝置與用戶端相容性
HTTPS效能最佳化
常用診斷命令
以下命令協助您快速診斷HTTPS配置問題,可在本地終端執行。
查看CDN節點部署的認證資訊:輸出認證的網域名稱(subject)、頒發機構(issuer)和有效期間(dates),可快速確認CDN節點是否部署了正確的認證。
openssl s_client -connect <加速網域名稱>:443 -servername <加速網域名稱> < /dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates查看完整憑證鏈結:輸出完整的憑證鏈結,用於檢查中間認證是否完整。
openssl s_client -connect <加速網域名稱>:443 -servername <加速網域名稱> -showcerts < /dev/null 2>/dev/null查看HTTPS請求的TLS握手詳情:輸出TLS版本、認證主體、頒發者和到期時間等關鍵資訊。
curl -vI https://<加速網域名稱> 2>&1 | grep -E "SSL|subject|issuer|expire|TLS|HTTP/"檢查認證有效期間:
openssl x509 -in <認證檔案> -noout -dates驗證認證與私密金鑰是否匹配(通用方法):兩行輸出的MD5值一致即匹配。
openssl x509 -pubkey -noout -in <認證檔案> | openssl md5
openssl pkey -pubout -in <私密金鑰檔案> | openssl md5檢查網域名稱解析是否指向CDN:輸出應為CDN分配的CNAME指向的IP地址,而非來源站點IP。
dig <加速網域名稱> +short跟蹤HTTP跳轉鏈路:用於排查強制HTTPS跳轉和重新導向迴圈問題。
curl -vIL --max-redirs 10 http://<加速網域名稱> 2>&1 | grep -E "< HTTP|< Location"