前言
今天在给对接方写一个功能,需要对方传过来一个文件,然后我这边盖完章之后回传回去。由于中间需要将对方传过来的文件链接下载到本地,然后再调用易签宝执行盖章过程,中间操作时间较长。本来可以异步完成的,但是这里是希望同步解决。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-IP $remote_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