
一、为什么接入 WAF 后证书变复杂了
没接 WAF 时,链路是:用户 ↔ 你的服务器,一份证书搞定。接入 WAF 后,链路变成两段:
用户 ──HTTPS──> WAF 节点 ──HTTPS──> 你的源站
↑ 第一段证书 ↑ 第二段证书
(WAF 侧配置) (源站侧配置)
WAF 节点要先解密用户流量,才能检测里面的攻击特征;检测完再加密或用明文转发给源站。所以两段是独立的两套加密。
二、三种配置方案
方案一:双份证书(最严谨)
WAF 侧配置一份证书(给用户看),源站侧也配置一份证书(给 WAF 回源看)。两段都是 HTTPS,全程加密。
- 优点:安全性最高,全程加密,符合等保要求
- 缺点:需维护两份证书,都要按时续期
方案二:WAF 证书 + 回源 HTTP
WAF 侧配证书,WAF 回源时用 HTTP(不加密)访问源站的 80 端口。
- 优点:配置最简单,源站只需维护一份证书(甚至不用)
- 缺点:WAF 到源站这段是明文,若这段链路经过公网有被窃听风险
- 缓解:源站限制只允许 WAF 回源 IP 访问,且这段走的是内网/专线则风险较低
方案三:厂商自动签发(最省事)
很多云 WAF 提供免费 DV 证书自动签发功能。你在控制台输入域名,系统自动申请、部署、续期。适合没有自有证书的站点。
三、配置步骤
3.1 WAF 侧配置证书
控制台 → 域名管理 → 选择域名 → HTTPS 配置
├─ 证书来源:自有证书上传 / 免费证书申请
├─ 上传内容:公钥(.crt/.pem) + 私钥(.key)
├─ 开启强制 HTTPS 跳转 [建议]
├─ 开启 HSTS [可选,慎用]
└─ 支持 TLS 版本:TLS 1.2 / 1.3 [建议关闭 1.0/1.1]
3.2 源站侧配置证书(方案一)
# 宝塔面板路径:网站 → 设置 → SSL
# 或直接编辑 Nginx 配置
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /www/server/panel/vhost/cert/example/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/example/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;
# 只允许 WAF 回源访问(关键!)
allow 182.61.129.0/24;
deny all;
}
四、常见问题
| 现象 | 原因 | 解决 |
|---|---|---|
| 浏览器提示证书错误 | WAF 侧未配证书或证书过期 | 在 WAF 控制台上传/续期证书 |
| 重定向次数过多 | WAF 强制 HTTPS + 源站也强制 HTTPS | 关闭源站的强制跳转,让 WAF 统一处理 |
| 回源 502 | 源站证书校验失败 | WAF 回源配置改为”不校验源站证书”或上传正确证书 |
| 混合内容告警 | 页面内引用了 HTTP 资源 | 把页面内资源地址全部改为 HTTPS 或协议相对 |
五、安全加固建议
- 关闭 TLS 1.0 / 1.1,只保留 1.2 和 1.3
- 开启 HSTS(Strict-Transport-Security),但确认全部子域支持 HTTPS 后再开
- 使用 2048 位以上 RSA 或 ECC 证书
- 设置证书到期提醒,避免过期导致网站不可访问
- 开启 OCSP Stapling 提升握手性能
六、小结
接入 WAF 后 HTTPS 需要分两段看。追求安全和合规选”双份证书”;追求简单省事选”WAF 证书 + 回源 HTTP”,但要配合源站回源 IP 限制。无论哪种方案,都别忘了关闭老旧 TLS 版本、设置好证书到期提醒。
如果你的站点正被恶意爬虫、CC 攻击困扰,或需要一套开箱即用的 Web 应用防护,可以了解百度云防护 Web 应用防火墙(专业版 299 元/月,年付 2399 元,可联系主机吧客服购买)——支持自定义访问策略、URI 频率限制、BOT 防护、威胁情报与 API 防护,无需改动源站代码,改 DNS 即可接入。包年包月计费,流量峰值买多少防多少,无后付费陷阱。
