ajp_upstream_fail_timeout
`ajp_upstream_fail_timeout` 指令配置在连接失败后 NGINX 在将上游 AJP 服务器视为失败之前将等待的时长。
Support AJP protocol proxy with NGINX
·
httpserverlocation
语法ajp_upstream_fail_timeout time;
默认值30s
上下文http, server, location
参数1
说明
ajp_upstream_fail_timeout 指令用于 NGINX 的 AJP (Apache JServ Protocol) 模块,用以为上游服务器建立故障切换机制。当由于上游服务器不可达而导致 AJP 请求失败时,该指令决定在多长时间后 NGINX 将重新尝试连接到该失败的服务器。实质上,它允许 NGINX 在将服务器标记为失败并暂时将其从请求路由中排除之前等待指定的时间。此行为有助于避免因短暂问题而过度标记失败,从而允许服务器在被永久移出池之前恢复。
ajp_upstream_fail_timeout 的参数以时间格式指定(例如 30s 表示三十秒)。将其设置为合适的时长对于在对服务器故障的响应速度与避免过于激进地将服务器标记为宕机之间取得平衡至关重要;应用的性质和预期停机时间等因素会影响此设置。该指令可以放在 http、server 或 location 上下文中,从而在 NGINX 配置的不同部分灵活地管理故障切换。
配置示例
http {
upstream tomcats {
server 127.0.0.1:8009;
ajp_upstream_fail_timeout 30s;
}
server {
listen 80;
location / {
ajp_pass tomcats;
}
}
}⚠
将超时时间设置得过低可能会导致因短暂问题频繁触发服务器故障。
⚠
确保故障超时足够长以应对有效的恢复情况,但不要长到影响整体性能。