ajp_read_timeout
`ajp_read_timeout` 指令在 NGINX 中设置从 AJP 后端服务器读取响应的超时时间。
Support AJP protocol proxy with NGINX
·
httpserverlocation
语法ajp_read_timeout time;
默认值60s
上下文http, server, location
参数1
说明
ajp_read_timeout 指令指定在建立连接后 NGINX 将等待 AJP (Apache JServ Protocol) 服务器响应的时间(以秒为单位)。该超时专门适用于从上游 AJP 服务器读取响应的操作,这在数据传输过程中可能发生延迟的情形下尤为关键。如果在超时期限内未收到响应,NGINX 将关闭连接并记录相应的错误消息。
该指令在 AJP 后端负载较高或出现性能下降时,能有效防止处理过程发生挂起或长时间延迟。设置合适的超时有助于保证 NGINX 在请求处理方面表现出可预测性,并能通过释放可能被无限期占用以等待响应的工作连接来降低资源使用。可以根据应用的性能特性调整该值,以便根据 AJP 后端服务的预期负载和响应时间进行优化。
配置此指令时,重要的是准确设定超时值以满足客户端和后端服务的期望。如果设置过低,可能会过早终止有效请求;相反,如果设置过高,可能导致向用户反馈错误的延迟。
配置示例
http {
upstream tomcats {
server 127.0.0.1:8009;
}
server {
listen 80;
location / {
ajp_pass tomcats;
ajp_read_timeout 30s;
}
}
}⚠
将超时时间设置得过低可能导致合法请求被丢弃,并向客户端返回错误。
⚠
在上游服务器之间匹配超时设置至关重要,以确保对 AJP 请求的一致处理。