如何禁用nginx的超时?

在本地开发机器上, 我有一个像这样的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