
首先,检查域名解析记录:在域名服务商控制台查看是否将主域名或子域名设置为CNAME(常见于大多数CDN)或A记录指向CDN提供的IP。对于需要走CDN的主站点,应使用CNAME指向CDN提供的加速域名;如果是裸域(apex),可能需要使用A记录或ANAME/ALIAS。
其次,使用命令行或在线工具进行验证:运行 nslookup 或 dig,确认解析结果是否显示CDN提供的域名或IP。例如:dig www.example.com 看是否返回 cdn-provider.example.net 或者 CDN的IP段。
检查浏览器请求头:在浏览器开发者工具的Network面板查看请求的响应头,若存在CDN特有的响应头字段(如X-Cache, Via或CDN厂商自定义头),说明资源已经过CDN。
DNS生效有延迟,请等待TTL结束或使用DNS刷新工具;并确保没有本地hosts干扰。
若解析正常但未经过CDN,可能是CDN回源配置错误或缓存规则未生效,应在CDN控制台检查回源域名与回源协议设置。
在CDN控制台查看域名的证书绑定状态,确保已经上传或选择了有效的SSL/TLS证书并处于启用状态。证书可为自签名、通配符或CA签发的正式证书,推荐使用可信CA颁发的证书。
实际验证方法:在浏览器访问该域名,查看地址栏是否显示安全锁;或者使用openssl命令:openssl s_client -connect www.example.com:443 -servername www.example.com,检查返回的证书信息中的颁发者、有效期与域名匹配情况。
确认证书链完整:CA中间证书和根证书是否正确包含在CDN或应用服务器上,缺失中间证书会导致部分浏览器或客户端报错。
若使用通配符证书,请确认子域名在证书范围内;若使用泛域名加速行为不同,需在CDN侧勾选支持通配符或SNI。
常见错误包括证书过期、域名不匹配、SNI未启用或证书上传格式不正确(PEM/CRT/KEY需对应)。
大多数CDN提供免费Let's Encrypt或自家免费证书服务,步骤通常包括:在CDN控制台选择“HTTPS/证书”->选择“免费证书”->验证域名(通过DNS或文件验证)->等待签发并自动绑定到加速域名。
域名验证方式:DNS验证要求添加指定的TXT记录到域名解析;文件验证要求在源站放置指定验证文件。完成验证后,CDN会自动获取并部署证书。
若验证失败,检查TXT记录是否正确、是否已生效、或文件验证路径是否能被CDN访问到(回源策略可能阻止验证文件请求)。
免费证书一般有自动续期机制,但建议开启CDN的自动续期并绑定通知,以防续期失败导致中断。
当DNS托管和域名登记商不同步时,TXT记录可能不会在CDN查询的DNS服务器上生效,此时需统一DNS服务或联系域名提供商。
确认CDN到源站的回源协议类型:在CDN控制台设置回源协议为HTTPS并选择验证源站证书(忽略/自签/校验CA),建议选择校验CA以确保端到端加密和证书可信度。
使用抓包或CDN日志查看回源请求是否为443端口且使用TLS握手;或在源站服务器查看访问日志中是否有来自CDN节点的HTTPS请求记录。
回源证书可以是自签名,但若选择严格校验则需要CA签发证书或将自签名证书上传到CDN信任链中。
启用HTTPS回源会增加握手开销,可配合启用HTTP/2或TLS会话复用来提升性能。
如果回源证书校验失败,CDN可能回退到HTTP或拒绝回源请求,应检查证书域名、有效期和证书链完整性。
第一步用浏览器开发者工具查看安全警告详情:通常包含“证书错误代码”或“不受信任的颁发者”等信息,有助定位是证书链、域名不匹配还是过期问题。
第二步运行在线SSL测试工具(如SSL Labs)或openssl命令,查看证书链、支持的协议和加密套件、是否存在中间证书缺失等问题。
常见原因包括:证书尚未在CDN节点生效(需等待或刷新缓存)、中间证书缺失、浏览器缓存旧证书、或混合内容(页面中仍使用HTTP资源)。针对混合内容,请把站内资源都改为HTTPS或使用相对协议。
若证书刚绑定,可能需要清除CDN缓存或等待节点同步;同时建议清除浏览器SSL缓存并重试。
确认域名解析、CDN证书、回源证书和页面资源均使用HTTPS且无混合内容,逐项排查即可定位并修复不安全提示。