根据你描述的排查现象,问题已经非常清晰了:
- 旁路WAF正常,说明源站服务器本身没有问题。
- 关闭Web防护策略、回退配置依然无法访问,说明问题与WAF的安全防护规则(如防SQL注入、防XSS等)无关。
- 只有在服务器管理中“禁用该HTTPS服务器”才能恢复正常,且只有这一个HTTPS网站出问题,其他HTTP网站正常。
综合以上几点,可以精准定位到:这是WAF设备在处理该HTTPS网站的SSL/TLS解密与代理环节出现了故障。因为WAF要防护HTTPS流量,必须先使用你导入的SSL密钥和证书对流量进行解密(中间人代理),如果这个环节卡住,流量就无法正常转发到后端服务器。
建议你按照以下步骤进行排查和修复:
1. 检查SSL证书与私钥的匹配性及有效期
这是最常见的原因。虽然证书和私钥能成功导入,但如果它们不匹配,或者证书已过期,WAF在代理握手时就会失败。
- 核对证书:确认导入的SSL证书和私钥是否绝对匹配,且证书没有过期。
- 重新导入:建议在WAF上删除当前的SSL证书和私钥,重新生成或重新导入一次,确保配置生效。
2. 检查TLS协议版本与加密套件兼容性
WAF代理HTTPS时,会分别与“客户端-WAF”和“WAF-源站”进行两次SSL握手。如果你的源站服务器禁用了某些老旧的TLS协议(如TLS 1.0/1.1)或特定的加密算法,而WAF默认去协商这些不被支持的协议,就会导致握手失败。
- 排查方向:检查WAF上该HTTPS服务器的配置,看是否有TLS协议版本或加密套件的自定义选项,尝试将其调整为与源站服务器一致(通常建议统一使用TLS 1.2及以上)。
3. 检查服务器端口与路由配置
- 端口核对:确认在WAF的“普通服务器管理”中,该HTTPS服务器填写的真实后端端口是否正确(例如源站实际是监听443还是其他非标端口)。
- 路由排查:WAF在代理模式下,需要与后端服务器进行通信。请检查WAF到该HTTPS源站服务器的路由是否可达。你可以尝试在WAF的命令行界面(CLI)通过
ping 或 tcpdump 命令抓包,看WAF是否能正常与源站服务器的443端口建立TCP连接。
4. 尝试切换HTTPS代理模式(如果支持)
部分WAF版本在处理HTTPS时,支持“流模式”和“代理模式”。
- 如果当前是透明代理或反向代理模式,且路由确认无误,可以咨询H3C官方文档或技术支持,看是否支持将该HTTPS服务器的代理模式切换为“流模式”(Stream Mode)。流模式下WAF不进行SSL解密,直接转发加密流量,可以快速验证是否为SSL解密引擎本身的问题。
5. 收集信息并联系H3C技术支持
由于你提到“把配置回退到1个月前也无法访问”,这极有可能是WAF设备的SSL代理引擎出现了底层异常或软件Bug。
- 如果以上基础排查均无法解决问题,建议你在WAF后台收集该时间段的系统运行日志、SSL代理日志以及针对该业务的抓包文件(tcpdump)。
- 直接联系H3C 400官方技术支持,将故障现象和收集到的日志发给他们。这种特定HTTPS网站代理失效的情况,往往需要原厂工程师分析底层日志来定位。
暂无评论