因nginx配置导致http访问504处理

原文链接:https://blog.csdn.net/chinabestchina/article/details/96384179 

因nginx配置导致http访问504处理
文章目录
因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,规定时间内没收到,则超时,返回给客服端408(request time out)
	client_body_timeout 60;

	#发送响应超时时间,单位秒,服务端向客户端发送数据包,规定时间内客户端没收到,则超时
	send_timeout 60;

	#保持闲置连接的超时时间,单位秒,超过后服务器和浏览器都会关闭连接
	keepalive_timeout 75;
    
    #域名解析超时时间,单位秒
    resolve_timeout 30;
	
    #nginx服务器与被代理服务连接超时时间,代理超时
	proxy_connect_timeout 60;

	#nginx服务器发送数据给被代理服务器超时时间,单位秒,规定时间内nginx服务器没发送数据,则超时
	proxy_send_timeout 60;

	#nginx服务器接收被代理服务器数据超时时间,单位秒,规定时间内nginx服务器没收到数据,则超时
    proxy_read_timeout 60;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章