Nginx
如何禁用 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; }
然而,如果我調試我的應用程序,響應可能會無限延遲,但 30 秒後我得到:
504 Gateway Time-out
作為回應。
如何禁用超時並讓我的反向代理永遠等待響應?而且我喜歡設置是全域的,這樣我就不必為每個代理設置它。
可能根本無法禁用它,但可行的解決方法是增加執行時間。在nginx 教程網站上,它是這樣寫的:
如果要增加伺服器上所有站點的時間限制,可以編輯主
nginx.conf
文件:vim /etc/nginx/nginx.conf
在 http{..} 部分添加以下內容
http { fastcgi_read_timeout 300; proxy_read_timeout 300; }
並重新載入 nginx 的配置:
sudo service nginx reload
我使用了一個不太可能發生的相當大的值,即
999999
或使用time units,通過1d
.請注意,將值設置為
0
將立即導致網關超時錯誤。