nginx 反向代理 504 錯誤

轉載php

以前的代理服務器Nginx 配置是這樣的html

server {
        listen  80;
        server_name     *.*;
        location / {
                proxy_pass http://192.168.0.100:8001;
                proxy_set_header host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-ip $remote_addr; proxy_redirect default; } }

普通訪問沒有問題,一旦運行長時間的PHP程序(60秒左右)就會報504錯誤linux

經過查詢nginx 官方文檔http://nginx.org/en/docs/http/ngx_http_proxy_module.html得知nginx

代理請求服務器

  • proxy_connect_timeout 鏈接超時 默認爲60秒
  • proxy_read_timeout 讀取超時 默認爲60秒
  • proxy_send_timeout 發送超時 默認爲60秒

而長時間運行的php程序 ,在到了60秒以後 會被中斷連接 ,受 proxy_read_timeout 和 proxy_send_timeout 設置影響spa

爲了保證代理服務器運行 長時間的php程序 而不被 自動中斷,修改配置內容爲如下內容.net

server {
        listen  80;
        server_name     *.*;
        location / {
                proxy_pass http://192.168.0.100:8001;
                proxy_connect_timeout 60s;
                proxy_read_timeout 5400s;
                proxy_send_timeout 5400s;
                proxy_set_header host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_redirect default;
        }
    }
相關文章
相關標籤/搜索