我们的 nginx 拒绝将请求的超时时间从默认的 60 秒增加。
我已经设置了以下参数,但是 60 秒后服务器仍然给我 504:
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
proxy_connect_timeout 300s;
proxy_read_timeout 300s;
client_header_timeout 300s;
client_max_body_size 200m;
client_body_timeout 300s;
send_timeout 300s;
有趣的是,将值设置为 30 秒是可行的,请求会在 30 秒后超时。php-fpm 中的 request_terminate_timeout 也设置为 300 秒。
我必须设置哪些参数才能使其超过 60 秒?
答案1
因此,如果其他人遇到同样的问题并且找不到答案,这是我经过 2 个小时的搜索后得出的解决方案。
罪魁祸首是我们的 Amazon 负载均衡器。服务器在负载均衡器后面的 ec2 实例上运行。负载均衡器设置了 60 秒的空闲超时。只需将此超时设置为所述所需值即可这里删除了 504。