第13章:与网络连接相关的配置指令
keepalive_timeout 指令
keepalive_timeout 60;
指定客户端连接保持的超时时间,该设置表示nginx服务器与客户端保持活动时间是60s,60s后服务器与客户端断开连接。
send_timeout 指令
send_timeout 20s;
用于设置nginx服务器响应客户端的超时时间,这个超时时间仅针对两个客户端和服务器之间建立连接后,某次活动之间的时间。如果这个时间后客户端没有任何活动,nginx服务器将会关闭连接
client_header_buffer_size 指令
client_header_buffer_size 4k;
设置nginx 服务器允许的客户端请求头部的缓冲区大小,默认为1KB。此指令的赋值可以根据系统分页大小来设置。分页大小也可以用"# getconf PAGESIZE"命令取得
有过nginx服务器工作经验的朋友可能会遇到nginx 服务器返回400错误的情况,查找nginx服务器的400错误原因比较困难,因为此错误并不是每次都会出现,出现错误的时候,通常在浏览器和日志里也看不到任何有关提示信息。
根据实际经验来看,有很大一部分情况是客户端的请求头部过大造成的。请求头部过大,通常是客户端cookie中写入了较大的值引起的。于是适当增大此指令的赋值,允许nginx服务器接收较大的请求头部,可以改善服务器对客户端
的支持能力。一般将此指令设置为4KB.
client_header_timeout
client_header_timeout 15s;
设置读取客户端请求头数据的超时时间。此处值是15s,为经验参考值,默认是60s。
如果超过这个时间,客户端还没有发送完整的header数据,服务端将返回"Request timeout(408)"错误,
client_body_timeout
client_body_timeout 15s;
设置读取客户端请求主体的超时时间,默认是60s
这个超时仅仅为两次成功的读取操作之间的一个超时,非请求整个主体数据的超时时间,如果在这个超时时间内,客户端没有发送任何数据,nginx 将返回"Request timeout(408)错误"