一、简介
腾讯云‘一键HTTPS’底层使用就是SaaS WAF,所以这里的排查思路是一致的。SaaS WAF可以理解为一个Nginx服务集群,域名接入SaaS WAF并将DNS解析到WAF CNAME后,将隐藏源站,客户端的访问流量会先经过SaaS WAF,由WAF进行对访问流量进行识别、拦截、正常流量转发回源。
二、接入
接入一键HTTPS的话,可以用两种方式进行接入,一种是从SSL证书控制台中添加接入,另一种是从WAF控制台中进行接入防护。
(一)SSL证书控制台接入
由于一键https主要是为了快速部署 HTTPS 功能,实现 HTTP 自动跳转到 HTTPS,所以文档主要是介绍接入,不介绍攻击测试、防止解析绕过等操作。详细参考文档:https://cloud.tencent.com/document/product/400/58062。
(二)WAF控制台接入
接入WAF是为了防护web攻击,所以接入文档除了介绍接入配置外,还会详细介绍测试验证、防止流量绕过WAF等配置操作。详细参考文档:https://cloud.tencent.com/document/product/627/40763。
三、请求无法正常响应:
(一)问题现象:
域名www.a.com解析到一键https(waf)的cname,访问http://www.a.com或https://www.a.com时,报错“很抱歉,你提交的请求无法正常响应,请联系网站管理员处理”,且显示是WAF的提示页面,如下图:
(二)初步分析
访问出现waf提示页面:“很抱歉,你提交的请求无法正常响应,请联系网站管理员处理”,一般是waf集群无法成功回源到源站或waf后台配置问题导致,需要详细测试分析。
(三)详细排查思路流程
(四)部分排查步骤思路
详细流程参考上一小节,这里介绍其中的部分操作:
1、浏览器按F12打开‘开发者模式’,看Headers的Status Code,核实状态码是5xx还是400;如果是https协议访问的,顺便核实证书是客户域名的证书还是*.qcloudzygj.com的证书;
2、核实回源协议和回源端口,下列三张图片分别是一键https、waf控制台和waf运营平台的截图:
3、可以用nmap等工具测试端口连通性,Nmap检测命令:nmap -p80,443 -Pn IP地址 ,其中参数-p80,443 指的是检测80和443端口
4、通过Hosts文件绑定源站IP,并使用回源协议和端口访问客户域名,核实是否可以正常访问、页面是否正常;
(1)如果在Windows系统进行访问测试的话:需要修改文件C:WindowsSystem32driversetchosts,新增条目;格式为:IP地址 接入WAF的域名
在windows环境测试时,建议使用浏览器的无痕模式进行测试,避免由于DNS缓存、页面缓存等影响测试结果;修改解析后,也需要关闭重新打开无痕模式再进行测试。
(2)如果在Linux系统进行访问测试的话,需要修改/etc/hosts,增加条目;格式:IP 地址 接入WAF的域名
5、一键https/WAF上配置的源站的安全组务必开放给WAF控制台上的‘回源保护地址’,建议是只开放给‘回源保护地址’,其余拒绝;同时WAF和源站中间如果还有其他安全设备也需要放通。
(1)腾讯云CVM的安全组管理配置参考:
https://cloud.tencent.com/document/product/213/12446
(2)轻量应用服务器配置防火墙参考文档:
https://cloud.tencent.com/document/product/1207/44577
欢迎沟通交流