记一次nginx 504 网关超时解决思路

环境:

前端:nginx作代理

后端:nginx+php(耳朵分发服务)

 

问题:整套服务搭建完成之后,将打包好的ios包进行上传到分发服务器时,包传递完毕之后页面无法自动跳转

上述进度条走完之后,页面无法自动跳转。

 

解决思路:

刚开始,以为是php的代码设置了超时时间,然后各种改代码,可是没什么卵用;然后以为是php有问题,然后修改php的超时时间,也没什么卵用。

最后,F12查看页面具体情况,发现:

原来是网关超时,应该是代理的nginx和后端nginx之间传输数据时发生超时。

最后,在前端nginx的配置文件中加入如下配置:

proxy_read_timeout 300

说明 该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来获得请求的响应。这个时间不是获得整个response的时间,而是两次reading操作的时间。如果后端有大文件传输的需求时,需要将此值调大一些。

proxy_send_timeout 300

说明 这个指定设置了发送请求给upstream服务器的超时时间。超时设置不是为了整个发送期间,而是在两次write操作期间。如果超时后,upstream没有收到新的数据,nginx会关闭连接

以上两个参数默认是60s超时,,由于上传的ios包需要的时间超过了60s,导致网关超时。

至此,问题得到解决。

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(记一次nginx 504 网关超时解决思路)