$proxy_protocol_port
当使用 PROXY protocol 时,$proxy_protocol_port 变量返回接收被代理请求的端口号。 — NGINX Core (HTTP)
$proxy_protocol_port
NGINX Core (HTTP)
说明
$proxy_protocol_port 变量在 NGINX 中用于检索 PROXY protocol 报头中指定的端口号,该端口号对应已被代理的连接。它主要在 NGINX 作为反向代理或 负载均衡器 的配置中相关,允许服务器准确识别客户端连接的原始端口。此信息对于日志记录、安全措施或后端服务器的决策可能至关重要。 该变量仅在 upstream server block 中启用 PROXY protocol 时被设置。如果未使用 PROXY protocol,则该变量不会包含有效值,实际解析为 0。该变量的典型值为原始端口号,例如用于 HTTP 和 HTTPS 流量的 80 或 443。使用 $proxy_protocol_port 可以提供关于传入请求的更多上下文,这在多层架构中尤为有价值,因为后端处理可能依赖于原始客户端端口。
配置示例
server {
listen 80 proxy_protocol;
location / {
add_header X-Proxy-Port $proxy_protocol_port;
}
}子系统
http可缓存
是上下文
http, server, location⚠
确保在 listen 指令上启用 PROXY protocol,否则该变量不会被设置并会返回 0。
⚠
要使该变量提供有意义的数据,必须在支持并正确配置 PROXY protocol 的上下文中使用它。