问题原因:
客户端请求在一分钟后,服务器处理逻辑还未完成,客户端连接被断开,返回504,服务端报java.io.IOException: Broken pipe。这个结果符合预期,说明了nginx默认超时时间是60s,超过60s,连接会被断开。
解决方法:
我们需要解决这个问题,就需要设置nginx超时时间了,这里我们将超时时间设置为120s,这个值可以灵活设置,就是不让他在默认60秒断开链接。
1.服务器基于linux系统环境,找到对应Nginx的配置文件,vim编辑nginx.conf
修改Nginx配置的四个时间配置(连接超时时间、连接超时时间、代理传送超时时间、传送超时时间)

proxy_connect_timeout 120;
后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_read_timeout 120;
连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
proxy_send_timeout 120;
后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
send_timeout 120;
服务端向客户端传输数据的超时时间。
2.修改完后重启nginx服务,让配置文件参数生效。
nginx -s reload