您的位置:首页 > 运维架构 > Nginx

nginx超时

2018-01-30 12:37 1031 查看

超时设置

http{
keepalive_timeout 600;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
client_header_timeout 600;
client_body_timeout 600;

}


client_header_timeout

默认值 60s

指定等待client发送一个请求头的超时时间(例如:GET / HTTP/1.1)

仅当在一次read中,没有收到请求头,才会算成超时。

如果在超时时间内,client没发送任何东西,nginx返回HTTP状态码408(“Request timed out”)

client_body_timeout

默认值 60s

该指令设置请求体(request body)的读超时时间。

仅当在一次readstep中,没有得到请求体,就会设为超时。

超时后,nginx返回HTTP状态码408(“Request timed out”)

keepalive_timeout

默认值 75s

第一个参数指定了与client的keep-alive连接超时时间。服务器将会在这个时间后关闭连接。

可选的第二个参数指定了在响应头Keep-Alive: timeout=time中的time值。

这个头能够让一些浏览器主动关闭连接,这样服务器就不必要去关闭连接了。

没有这个参数,nginx不会发送Keep-Alive响应头(尽管并不是由这个头来决定连接是否“keep-alive”)

lingering_timeout

默认值 5s

lingering_close生效后,在关闭连接前,会检测是否有用户发送的数据到达服务器,

如果超过lingering_timeout时间后还没有数据可读,就直接关闭连接;

否则,必须在读取完连接缓冲区上的数据并丢弃掉后才会关闭连接。

resolver_timeout

默认值 30s

该指令设置DNS解析超时时间

proxy_connect_timeout!!!

默认值 60s

定义与代理服务器建立连接的超时时间。这个超时通常不能超过75秒。

proxy_read_timeout

默认值 60s

该指令设置与代理服务器的读超时时间。

它决定了nginx会等待多长时间来获得请求的响应。

这个时间不是获得整个response的时间,而是两次reading操作的时间。

proxy_send_timeout

默认值 60s

这个指定设置了发送请求给upstream服务器的超时时间。

超时设置不是为了整个发送期间,而是在两次write操作期间。

如果超时后,upstream没有收到新的数据,nginx会关闭连接

proxy_upstream_fail_timeout

默认值 10s

Upstream模块下 server指令的参数,

设置了某一个upstream后端失败了指定次数(max_fails)后,

该后端不可操作的时间,默认为10秒

来源张永光的博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx