怎么在Nginx中配置超时超时

  介绍

怎么在Nginx中配置超时超时?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强> keepalive_timeout

HTTP是一种无状态协议,客户端向服务器发送一个TCP请求,服务端响应完毕后断开连接。

如果客户端向服务器发送多个请求,每个请求都要建立各自独立的连接以传输数据。

HTTP有一个KeepAlive模式,它告诉网络服务器在处理完一个请求后保持这个TCP连接的打开状态。若接收到来自客户端的其它请求,服务端会利用这个未被关闭的连接,而不需要再建立一个连接。

KeepAlive在一段时间内保持打开状态,它们会在这段时间内占用资源。占用过多就会影响性能。

Nginx使用keepalive_timeout来指定KeepAlive的超时时间(超时)。指定每个TCP连接最多可以保持多长时间.Nginx的默认值是75秒,有些浏览器最多只保持60秒,所以可以设定为60秒。若将它设置为0,就禁止了KeepAlive连接。

#,配置段:,HTTP服务器,位置   keepalive_timeout  60年代;

<强> client_body_timeout

指定客户端与服务端建立连接后发送请求主体的超时时间。如果客户端在指定时间内没有发送任何内容,Nginx返回HTTP 408(请求超时)。

#,配置段:,HTTP服务器,位置   client_body_timeout  20年代;

<强> client_header_timeout

客户端向服务端发送一个完整的请求头的超时时间。如果客户端在指定时间内没有发送一个完整的请求头,Nginx返回HTTP 408(请求超时)。

#,配置段:,HTTP服务器,位置   client_header_timeout  10年代;

<强> send_timeout

服务端向客户端传输数据的超时时间。

#,配置段:,http服务器,位置   send_timeout  30年代;

客户度连接nginx超时,建议5 s内

接收客户端头超时,默认60年代,如果60年代内没有收到完整的http包头,返回408

语法:,client_header_timeout 时间;   默认值:,,   client_header_timeout  60年代;   背景:,,http服务器   Defines  a  timeout  for  reading  client  request 头只If  a  client  does  not  transmit 从而entire  header  within 却;能够一次,,   ,408,(Request 超时),error  is  returned 用,客户端。

接收客户端身体超时,默认60年代,如果连续的60年代内没有收到客户端的1个字节,返回408

语法:,client_body_timeout 时间;   默认值:,,   client_body_timeout  60年代;   背景:,,http服务器,位置   Defines  a  timeout  for  reading  client  request 身体只,timeout  is  set  only  for  a  period 结构;two  successive  read 操作,,not  for 从而transmission  of 从而whole  request 身体又是;   If  a  client  does  not  transmit  anything  within 却;能够一次,,   ,408,(Request 超时),error  is  returned 用,客户端。

keepalive时间,默认75年代,通常keepalive_timeout应该比client_body_timeout大

语法:,keepalive_timeout  timeout  [header_timeout];   默认值:,,   keepalive_timeout  75年代;   背景:,,http服务器,位置   从而first  parameter  sets  a  timeout  during  which  a  keep-alive  client  connection  will  stay  open 提醒,server 一边只,zero  value  disables  keep-alive  client 连接只   从而optional  second  parameter  sets  a  value 拷贝,“保活:超时=时间”,response  header 字段只Two  parameters  may 不同。

“维生:超时=时间”标题字段被Mozilla和Konqueror。MSIE关闭点火电极连接本身在大约60秒。

可以理解为TCP连接关闭时的SO_LINGER延时设置,默认5 s

语法:,lingering_timeout 时间;   默认值:,,   lingering_timeout  5 s;   背景:,,http服务器,位置   When  lingering_close  is 效果,拷贝,却;能够directive  specifies 从而maximum  waiting  time  for  more  client  data 用只到达If  data 断开连接;not  received  during 却;能够一次,,   从而connection  is 关闭又是;否则,,,data 断开连接;read 以及忽视,信息,以及nginx  starts  waiting  for  more  data 又只   从而“wait-read-ignore”, cycle  is 重复,,but  no  longer  than  specified  by 从而lingering_time 指令。

怎么在Nginx中配置超时超时