一聚教程网:一个值得你收藏的教程网站

热门教程

nginx 反向代理 504 错误解决办法

时间:2022-06-30 18:54:02 编辑:袖梨 来源:一聚教程网

代理服务器nginx 配置是这样的

 代码如下 复制代码


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错误


通过查询nginx 官方文档http://nginx.org/en/docs/http/ngx_http_proxy_module.html得知


代理请求


proxy_connect_timeout 连接超时 默认为60秒


proxy_read_timeout 读取超时 默认为60秒


proxy_send_timeout 发送超时 默认为60秒

 


而长时间运行的php程序 ,在到了60秒之后 会被中断链接 ,受 proxy_read_timeout 和 proxy_send_timeout 设置影响


为了保证代理服务器运行 长时间的php程序 而不被 自动中断,修改配置内容为以下内容

 

 代码如下 复制代码


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;
        }
    }

热门栏目