在本地开发机器上, 我有一个像这样的nginx反向代理 :
server { listen 80; server_name myvirtualhost1.local; location / { proxy_pass http://127.0.0.1:8080; } server { listen 80; server_name myvirtualhost2.local; location / { proxy_pass http://127.0.0.1:9090; }
然而,如果我debugging我的应用程序,响应可能会延迟无限的时间,但30秒后,我得到:
504 Gateway Time-out
作为回应。
我如何禁用超时,让我的反向代理永远等待响应? 我喜欢这个设置是全球化的,所以我不必为每个代理设置它。
根本不可能将其禁用,但是一个可行的解决方法是增加执行时间。 在一个nginx教程网站上 ,它写道:
如果您想增加服务器上所有站点的时间限制,可以编辑主要的
nginx.conf文件:
vim /etc/nginx/nginx.conf
在http {..}部分添加以下内容
http { fastcgi_read_timeout 300; }
并重新加载nginx的configuration:
sudo service nginx reload
我用了一个相当不大可能发生的价值,即999999 。 (将值设置为0导致立即网关超时。)
我一直在努力与nginx 502超时错误,并不能解决问题。 然而,碰巧是gunicorn导致超时错误。 所以你可能还需要检查你的fastcgi设置。
对于gunicorn它是:
gunicorn wsgi:application --timeout 300