SSL卸载是WAF防护HTTPS流量的前提,Nginx需先完成TLS终止解密为明文HTTP,再交由WAF模块(如雷池t1k)进行协议解析、规则匹配和行为分析,否则WAF仅能看见加密流,无法识别SQL注入、XSS等攻击。
HTTPS 流量检测不能绕过解密环节,Nginx 本身不解析加密内容,必须配合 SSL 卸载才能让 WAF 真正“看见”请求体和参数。云原生 WAF(如雷池)在 Nginx 反向代理链路中,正是通过在 Nginx 层完成 TLS 终止,再将明文 HTTP 流量交由 WAF 模块处理,实现精准拦截。
SSL 卸载是 HTTPS 防护的前提
WAF 对 HTTPS 的防护不是“穿透加密”,而是依赖 Nginx 先做 TLS 终止(即 SSL 卸载):客户端的 HTTPS 请求到达 Nginx 后,由 Nginx 使用证书私钥解密,还原为明文 HTTP 流量;之后才把明文请求交给 WAF 检测模块(如雷池的 t1k 模块或 OpenResty 的 Lua 引擎)。若跳过这步,WAF 只能看到加密流,无法识别 SQL 注入、XSS 负载或恶意路径。
Nginx 配置中需启用
和
,并监听 443 端口
业务后端(如 CVM 上的应用)可继续用 HTTP 通信,降低上游服务改造成本
云厂商(如腾讯云)支持托管证书自动续签,避免因证书过期导致卸载失败
检测引擎如何在明文流量中识别攻击
解密后的请求进入 WAF 检测流程,通常分三层处理:
稿定在线PS
PS软件网页版
下载
协议解析层
:调用
、
、
提取 URL、Header、Query、Body、Cookie 等原始字段
规则匹配层
:使用 Lua 正则(
)或语义分析库(如 LPEG)扫描敏感模式,例如:
•
匹配 SQL 注入
•
ssl_certificatessl_certificate_keyngx.req.get_headers()ngx.req.get_uri_args()ngx.req.get_post_args()ngx.re.match"%f[%w_]union%s+select%f[%w]""
