如果我想增加所有请求的超时,那么Nginx中应该包含什么连接超时选项?
目前,任何花费超过一分钟的请求都会在浏览器中使用504 Connection Timed Out
超时,我想增加时间。
这是我在Nginx中的当前配置:
server {
listen 443;
ssl on;
ssl_certificate /opt/nginx/certs/ssl.pem;
ssl_certificate_key /opt/nginx/certs/ssl.key;
keepalive_timeout 75;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
server_name <server_url>;
root /home/ubuntu/rails_app/public;
passenger_enabled on;
error_page 500 502 503 504 /50x.html;
}
我已经尝试过包含以下选项但不起作用 -
proxy_connect_timeout
proxy_send_timeout
proxy_read_timeout
send_timeout
答案 0 :(得分:0)
尝试极端超时以查看问题是否会重现
然后重启nginx。
答案 1 :(得分:0)
呈现相同条件的一种情况是,nginx位于负载均衡器(如AWS Application或Elastic,负载均衡器(ALB))的后面。
ALB具有可配置的“空闲超时”,默认为60秒。
如果在空闲超时内未收到任何响应,则ALB将关闭连接。 Nginx日志将显示HTTP 499错误,“客户端已关闭请求”。 https://httpstatuses.com/499
ALB将向用户的浏览器返回504连接超时错误。 https://httpstatuses.com/504
ALB的“空闲超时”将提供一个上限,必须提高该限制,才能影响下游的Nginx或乘客超时。