Nginx超时配置

摘要:
超时后,nginx返回HTTP状态码4083.keepalive_timeout语法keepalive_timeouttimeout[header_timeout]默认值75s上下文httpserverlocation说明第一个参数指定了与client的keep-alive连接超时时间。它决定了nginx会等待多长时间来获得请求的响应。如果超时后,upstream没有收到新的数据,nginx会关闭连接。
Nginx超时配置1.client_header_timeout

语法client_header_timeout time

默认值60s

上下文http server

说明指定等待client发送一个请求头的超时时间(例如:GET/HTTP/1.1).仅当在一次read中,没有收到请求头,才会算超时。如果在超时时间内,client没发送任何东西,nginx返回HTTP状态码408(“Request timed out”)

2.client_body_timeout

语法 client_body_timeout time

默认值 60s

上下文 http server location

说明该指令设置请求体(request body)的读超时时间。仅当在一次readstep中,没有得到请求体,就会设为超时。超时后,nginx返回HTTP状态码408(“Request timed out”)

3.keepalive_timeout

语法 keepalive_timeout timeout [header_timeout]

默认值75s

上下文 http server location

说明第一个参数指定了与clientkeep-alive连接超时时间。服务器将会在这个时间后关闭连接。可选的第二个参数指定了在响应头Keep-Alivetimeout=time中的time值。这个头能够让一些浏览器主动关闭连接,这样服务器不必要去关闭连接了。没有这个参数,nginx不会发送Keep-Alive响应头(尽管并不是这个头来决定连接是否”keep-alive”)

两个参数的值可并不相同

²注意不同浏览器怎么处理”keep-alive”

²MSIEOpera忽略掉”Keep-Alive:timeout=<N>”header

²MSIE保持连接大约60-65秒,然后发送TCP RST

²Opera永久保持长连接

²Mozilla keeps the connection alive for N plus about 1-10 seconds

²Konqueror保持长连接N

4.lingering_timeout

语法 lingering_timeout time

默认值 5s

上下文 http server location

说明 lingering_close生效后,在关闭连接前,会检测是否有用户发送的数据到达服务器,如果超过lingering_timeout时间后还没有数据可读,就直接关闭连接;否则,必须在读取完连接缓冲区上的数据并丢弃掉后才会关闭连接。

5.resolver_timeout

语法 resolver_timeout time

默认值 30s

上下文 http server location

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

6.proxy_connect_timeout

语法 proxy_connect_timeout time

默认值 60s

上下文 http server location

说明该指令设置与upstream server的连接超时时间,有必要记住,这个超时不能超过75秒。这个不是等待后端返回页面的时间,那是由proxy_read_timeout声明的。如果你的upstream服务器起来了,但是hanging住了(例如,没有足够的线程处理请求,所以把你的请求放到请求池里稍后处理),那么这个声明是没有用的,由于与upstream服务器的连接已经建立了。

7.proxy_read_timeout

语法 proxy_read_timeout time

默认值 60s

上下文 http server location

说明该指令设置与代理服务器的读超时时间。它决定了nginx会等待多长时间来获得请求的响应。这个时间不是获得整个response的时间,而是两次reading操作的时间。

8.proxy_send_timeout

语法 proxy_send_timeout time

默认 60s

上下文 http server location

说明这个指定设置了发送请求给upstream服务器的超时时间。超时设置不是为了整个发送期间,而是在两个write操作期间。如果超时后,upstream没有收到新的数据,nginx会关闭连接。

9.proxy_upstream_fail_timeout (fail_timeout)

语法 server address [fail_timeout=30s]

默认 10s

上下文 upstream

说明 upstream模块下server指令的参数,设置了某一个upstream后端失败了指定次数(max_fails)后,该后端不可操作的时间,默认为10秒。

10.send_timeout

语法 send_timeout time

默认 60s

上下文 http,server,location

说明指令定义响应给客户端的超时时间。超时设置不是为了整个发送期间,而是在两个操作之间,如果在这段时间之后客户什么都不做,那么nginx将关闭连接。

11.fastcgi_connect_timeout

fastcgi_connect_timeouttime

默认 60s

上下文 http,server,location

说明定义与FastCGI服务器建立连接的超时。应该注意的是,这个超时通常不能超过75秒。

12.fastcgi_send_timeout

语法 fastcgi_send_timeouttime

默认 60s

上下文 http,server,location

说明设置向FastCGI服务器发送请求的超时时间。超时只设置在两个连续的写操作之间,而不是整个请求的传输。如果FastCGI服务器在这个时间内没有收到任何东西,那么连接将被关闭。

13.fastcgi_read_timeout

语法 fastcgi_read_timeouttime

默认 60s

上下文 http,server,location

说明定义了从FastCGI服务器读取响应的超时时间。超时只设置在两个连续读取操作之间,而不是整个响应的传输。如果FastCGI服务器在这段时间内不传输任何内容,那么连接将被关闭。

免责声明:文章转载自《Nginx超时配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【MFC】获取文件大小的方法CentOS mini 和 nginx 的安装和配置要点下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux 下nginx

所有的配置文件都在/etc/nginx (ect/nginx/nginx.conf) 下,并且每个虚拟主机已经安排在 了/etc/nginx/sites-available 程序文件在/usr/sbin/nginx 日志放在了/var/log/nginx中 并已经在/etc/init.d/下创建了启动脚本 nginx -------------------...

查找nginx安装的路径以及相关安装操作命令

查找nginx安装的路径以及相关安装操作命令 Linux环境下,怎么确定Nginx是以那个config文件启动的? [root@localhost ~]# ps -ef | grep nginxroot 21196 1 0 23:40 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/ngin...

nginx 转发请求头信息

nginx 转发请求头信息 让后台接口程序能获取到必要的请求头信息 # 转发host proxy_set_header Host $host; # 转发用户ip proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_f...

源码编译安装nginx及设置开机启动项

1、上传nginx文档;解压到/data目录下,并安装依赖包tar xf nginx-1.20.1.tar.gz -C /data/cd /data/nginx-1.20.1/ && ll依赖关系安装,执行如下:yum -y install zlib pcre pcre-devel openssl openssl-devel 2、自定义安装...

nginx重启

转载自:https://www.cnblogs.com/codingcloud/p/5095066.html 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/ngin...

Nginx 配置多站点vhost

假设你想在Linux Nginx中用不同的域名访问不同的目录,这时就要配置多个vhost,具体配置如下,假设网站根目录设定在/var/www/ 1、在/var/www/下新建两个目录 /var/www/testsite1 /var/www/testsite2 2、编辑/etc/nginx/nginx.conf http { include...