ajp_pass_request_headers
`ajp_pass_request_headers` 指令控制 NGINX 是否将请求头传递给 AJP 后端服务器。
Support AJP protocol proxy with NGINX
·
httpserverlocation
语法ajp_pass_request_headers on | off;
默认值off
上下文http, server, location
参数flag
说明
ajp_pass_request_headers 指令允许用户指定 NGINX 在处理请求时是否应将客户端的请求头转发到 AJP 后端服务器。通过将此标志设置为 'on',NGINX 会在其 AJP 请求中包含诸如 'User-Agent'、'Accept'、'Host' 等指定的请求头。这对于依赖这些头来正确处理客户端请求的应用程序尤为有用。
该指令在 NGINX 配置的 http、server 或 location 块中生效。如果启用,它可确保后端应用能够访问必要的客户端信息,从而影响其生成响应的方式(例如,基于 User-Agent 头定制响应)。如果设置为 'off',应用可能不会接收到可以确保正确处理请求的重要元数据。
需要注意的是,性能可能会因传递的请求头数量以及后端应用处理这些头的能力而有所不同。因此,管理员应根据应用需求和性能预期谨慎使用此指令。
配置示例
http {
upstream tomcats {
server 127.0.0.1:8009;
}
server {
listen 80;
location / {
ajp_pass tomcats;
ajp_pass_request_headers on;
}
}
}⚠
不传递头信息可能会因元数据缺失而导致应用出现意外行为。
⚠
如果启用,性能可能会因 AJP 请求大小增加而降低。
⚠
确保后端能够正确处理所有转发的头信息,以避免出现问题。