WAF 证书与 HTTPS 配置是什么
WAF 处于用户与源站之间,如果以反向代理方式工作,就必须自己持有证书完成 TLS 握手。证书配置要匹配三件事:域名范围(单域名、SAN 多域名、通配符)、证书链完整性(很多「部分客户端报错」是缺中间证书)、以及 TLS 版本与加密套件的兼容性。证书更新是高频操作,也是常见的故障源——换证书只换了一半、重载没执行、旧证书还在用,情况各不相同。
基本信息
| 配置内容 | 绑定证书与私钥、启用 TLS 版本与加密套件 |
|---|---|
| 证书类型 | 单域名、多域名 SAN、通配符,按站点覆盖范围选择 |
| 链完整性 | 服务器需下发中间证书,客户端才能完成校验 |
| 更新流程 | 替换证书后重载服务并立即验证 |
| 到期管理 | 证书到期纳入监控,建议提前 30 天提醒 |
典型使用场景
- 新站点接入 WAF:配置证书与 HTTPS 监听
- 证书到期更换:替换后验证链完整与协议兼容
- 多域名站点:使用 SAN 证书或按站点分别配置证书
- 协议加固:关闭老旧 TLS 版本,观察是否有客户端受影响
- 源站使用自签名证书:配置回源时的证书信任处理
- 故障排查:客户端报证书错误时确认是哪一环的证书问题
验证命令
验证命令
# 查看服务端证书的有效期与主体
# 注意 -servername 必须与真实域名一致,否则可能取到默认站点证书
echo | openssl s_client -connect www.example.com:443 -servername www.example.com 2>/dev/null | openssl x509 -noout -dates -subject
# 检查证书链是否完整(应能看到中间证书)
echo | openssl s_client -connect www.example.com:443 -servername www.example.com -showcerts 2>/dev/null | grep -c 'BEGIN CERTIFICATE'常见问题对照
| 现象 | 可能原因 | 处理方向 |
|---|---|---|
| 部分客户端报证书错误 | 证书链不完整,缺中间证书 | 补全中间证书并重载 |
| 某些子域访问告警 | SAN 未覆盖该域名 | 补签证书或单独配置 |
| 协议协商失败 | TLS 版本或套件不兼容 | 复核加固范围与客户端支持 |
| 更新后仍显示旧证书 | 未重载或缓存未刷新 | 重载服务并核对生效时间 |
证书更新后要立即验证:用命令行检查有效期与链完整性,再用真实域名浏览器访问一遍,避免只改了文件没生效。
只用主证书不带中间链时,浏览器可能自动补齐而部分客户端直接报错,这类问题往往只在特定客户端上暴露。