因nginx配置导致http访问504处理
一、问题描述
最近排查项目问题,发现这样的情况:
http请求服务,页面很快(很快,并没有过多等待)返回504(gateway timeout)失败,检查服务其实是正常的,只是处理时间偏长。
二、问题分析
其实错误很明显,http超时了,但页面等待时间很短就报504。再结合nginx转发,基本可以确定问题的原因是ngnix的超时时间设置过短。
三、问题解决
解决方法就是修改调大nginx的超时时间。
修改nginx配置文件中的http模块:vim /etc/nginx/nginx.conf
http{
#根据具体情况修改读取超时时间,单位秒
proxy_read_timeout 90;
}
四、扩展
这里对nginx超时时间进行简要总结
http{
#读取http头部的超时时间,单位秒,连接建立后,服务端接收http头部,规定时间内没收到,则超时,返回给客服端408(request time out)
client_header_timeout 60;
#读取http body的超时时间,单位秒,连接建立后,服务端接收body,规定时间内没收到,则超时,返