
# WAF回源超时时，是否会自动重试？
不会。
WAF到源站的回源链路基于Nginx反向代理实现，单次请求的上游重试行为受proxy_next_upstream、proxy_next_upstream_tries以及upstream中可用server数量共同影响。
WAF未显式配置proxy_next_upstream_tries，因此使用Nginx默认值0。根据[Nginx官方文档](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream_tries)定义，该默认值表示不通过该指令限制尝试次数，实际可尝试次数仍受当前upstream中可用server数量的约束。
在WAF场景中，每次请求的回源目标由调度模块在请求处理阶段动态确定，并绑定为单一源站节点（即使客户配置了多台源站，每次请求也只会选定其中一台作为本次回源目标）。
因此，对于单次请求而言，当前upstream中实际可用于回源尝试的目标只有1个，最终包含首次回源在内的尝试次数合计为1次。
所以，当出现连接超时（connect_timeout）、发送超时（send_timeout）或读超时（read_timeout）时，WAF不会对该请求再次发起回源，而是结束本次回源流程，并向客户端返回对应的上游访问失败响应，例如504 Gateway Timeout。
