Nginx 报504 gateway timeout 错误的解决方法

2020年11月13日 689点热度 1人点赞 0条评论

前言

今天在给对接方写一个功能,需要对方传过来一个文件,然后我这边盖完章之后回传回去。由于中间需要将对方传过来的文件链接下载到本地,然后再调用易签宝执行盖章过程,中间操作时间较长。本来可以异步完成的,但是这里是希望同步解决。nginx 超时了,这里 就出现 Nginx 报504 gateway timeout 错误。下面记录下解决方案

方案

修改 Nginx 的服务器配置

Nginx的超时时间上调

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

以上的单位是秒。

如果使用了Nginx的代理,可以在块里加上:

proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;

由于我这里是代理,所以最终修改结果为:

    # 域名转发 serve测试 项目
    server {
      server_name servetest.xx.com
      listen 80;
      location / {
        proxy_pass http://192.168.xx.xx:8888;
        proxy_set_header Host host:80;
        proxy_set_header X-Real-IPremote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
        proxy_read_timeout 300s;
      }
    }

最后重新加载 nginx 配置 systemctl reload nginx

浮生一程

读书-行路-悦人-识物