如何处理523错误码问题?
523错误码是由于同一个访问请求四次经过了WAF引起,为了避免出现死循环现象,WAF会拦截该请求。如果您在访问网站时出现了523错误码问题,请先梳理流量图,查出流量串接多个华为云WAF的原因。
可能导致523错误码的示例流量图如下:
原因一:将同一个网站接入WAF 4次以上
通过WAF的各种模式(云模式-CNAME接入、云模式-ELB接入、独享模式),将同一个网站接入WAF 4次以上。
解决办法:
梳理流量图,将用户流量绕过多余WAF,具体操作如下:
原因二:调用了第三方接口且第三方接口也使用了华为云WAF
将用户的请求在转发给第三方接口时仅修改了host,而header、cookie执行了原样转发,导致保留了WAF原有的计数器。
解决办法:
修改反向代理请求中的header字段,具体操作如下:
用户的流量链路上,在WAF后如果有NGINX,才可用此方法。
- 通过使用“proxy_set_header”来重定义发往代理服务器的请求头,执行以下命令打开nginx配置文件。
以Nginx安装在“/opt/nginx/”目录为例,具体情况需要依据实际目录调整。
vi /opt/nginx/conf/nginx.conf
- 在nginx配置文件中加入proxy_set_header X-CloudWAF-Traffic-Tag 0;,示例如下:
location ^~/test/ { ...... proxy_set_header Host $proxy_host; proxy_set_header X-CloudWAF-Traffic-Tag 0; ...... proxy_pass http://x.x.x.x; }
原因三:源站IP误配置为WAF的回源IP或WAF前代理的IP
如果“源站地址”误配置为WAF的回源IP或WAF前代理的IP,会造成访问死循环,报523错误。
解决办法:
检测源站服务器的配置,将“源站地址”修改为正确的源站IP,具体操作请参见修改服务器配置信息。