可以参考官网的ngx_http_core_module
模块,文档地址:http://nginx.org/en/docs/http/ngx_http_core_module.html
client_header_timeout
Syntax(语法): client_body_timeout time;
Default(默认值): client_body_timeout 60s;
Context(上下文): http, server, location
说明:指定等待client发送一个请求头的超时时间。如果在超时时间内,client没发送任何东西,nginx返回HTTP状态码408(“Request timed out”)
client_body_timeout
Syntax(语法): client_body_timeout time;
Default(默认值): client_body_timeout 60s;
Context(上下文): http, server, location
说明:该指令设置请求正文即请求体(request body)的读超时时间。超时仅设置为两个连续读取操作之间的时间段,而不是整个请求主体的传输。如果客户端在此时间内未传输任何内容,请求将以408(请求超时)错误终止。
keepalive_timeout (长连接类型)
Syntax(语法): keepalive_timeout timeout [header_timeout];
Default(默认值): keepalive_timeout 75s;
Context(上下文): http, server, location
说明:第一个参数设置一个超时,在此期间保持活动的客户端连接将在服务器端保持打开状态。0则表示禁用客户端的keep-alive
连接。可选的第二个参数在“Keep-Alive:timeout = time”响应头字段中设置一个值。两个参数可能不同。第二个参数,用于给浏览器进行判断是否需要关闭keepavlie连接的,如果客户端(浏览器)在
header_timeout之后如果没有任何数据传输,就会主动关闭连接。
Mozilla和Konqueror识别“Keep-Alive:timeout = time”标题字段。MSIE在大约60秒内自行关闭保持连接。
resolver_timeout
Syntax(语法): resolver_timeout time;
Default(默认值): resolver_timeout 30s;
Context(上下文): http, server, location
说明:主要是指定DNS解析的超时时间
,这个与resolver address ... [valid=time] [ipv6=on|off];
配置相关,resolver配置可以指定DNS服务器,而这个超时时间就是用于这里配置的DNS服务器的。
send_timeout
Syntax(语法): send_timeout time;
Default(默认值): send_timeout 60s;
Context(上下文): http, server, location
说明:设置将响应传输到客户端的超时。仅在两个连续的写操作之间设置超时,而不是为整个响应的传输
。如果客户端在此时间内未收到任何内容,则会关闭连接。这个是Nginx发送数据到客户端(浏览器)的超时时间。
lingering_timeout
Syntax(语法): lingering_timeout time;
Default(默认值): lingering_timeout 5s;
Context(上下文): http, server, location
说明:当lingering_close生效时,此指令指定更多客户端数据到达的最长等待时间。如果在此期间未收到数据,则关闭连接。否则,读取并忽略数据,并且nginx开始再次等待更多数据。重复“wait-read-ignore”循环,但不会超过lingering_time指令指定的循环。(不太理解…)
可以参考官网的ngx_http_proxy_module
模块,文档地址:http://nginx.org/en/docs/http/ngx_http_proxy_module.html
proxy_connect_timeout
Syntax(语法): proxy_connect_timeout time;
Default(默认值): proxy_connect_timeout 60s;
Context(上下文): http, server, location
说明:该指令设置与upstream server的连接超时时间,有必要记住,这个超时不能超过75秒
。这个时间Nginx与上游服务器尝试建立连接,如果60s内都没有建立成功,则会放弃这个连接。
proxy_read_timeout
Syntax(语法): proxy_read_timeout time;
Default(默认值): proxy_read_timeout 60s;
Context(上下文): http, server, location
说明:定义从代理服务器读取响应的超时。仅在两个连续的读操作之间设置超时,而不是为整个响应的传输。如果代理服务器在此时间内未传输任何内容,则关闭连接。这个时间是用于读取上游服务器响应时,最长的读取等待时间,如果超过这个时间,Nginx会主动关闭连接。
proxy_send_timeout
Syntax(语法): proxy_send_timeout time;
Default(默认值): proxy_send_timeout 60s;
Context(上下文): http, server, location
说明:设置将请求传输到代理服务器的超时。仅在两个连续的写操作之间设置超时,而不是为整个请求的传输。如果代理服务器在此时间内未收到任何内容,则关闭连接。这个是Nginx向上游服务器传输数据时的超时时间,如果发现写入时超过了这个时间都没有成功则Nginx会关闭这个链接。
Nginx的超时时间配置,一般使用默认的就可以了,但是有时候有些错误跟这些超时时间有关,不同的配置会有不同的影响。这里主要是参考官方文档,加上自己的一些理解,如有错误,请指出,共同学习。