proxy_protocol
`proxy_protocol` 指令用于启用 PROXY protocol,以传递客户端的连接信息。
Nginx SRT Module
语法proxy_protocol;
默认值off
上下文
参数flag
说明
proxy_protocol 指令在 NGINX SRT Module 中用于指定是否为传入连接启用 PROXY protocol。启用后,NGINX 将接受使用 PROXY protocol 的传入连接,该协议允许代理将客户端信息(例如原始 IP 地址)传递给后端服务器。PROXY protocol 帮助依赖反向代理的系统正确确定客户端信息,尤其是在 NGINX 位于另一个负载均衡器或代理之后时。
当启用 proxy_protocol 指令时,服务器将期望传入连接以描述客户端源地址及其他相关数据的协议头为前缀。在无法直接看到与客户端的连接(例如使用多个代理)的场景中,这一点尤其有用。PROXY protocol 提供了一种安全且透明地转发这些信息的方式。
必须确保连接路径中的所有中间节点都支持 PROXY protocol;否则连接可能失败或导致安全泄漏。该指令通常可在 SRT server block 的上下文中使用,以确定在与后端建立连接时 SRT 流数据是否可以随同代理元数据一起传输。
配置示例
srt {
server {
listen 4321;
proxy_protocol;
proxy_pass tcp://127.0.0.1:5678;
}
}⚠
确保连接链中的所有客户端和代理都支持 PROXY protocol;否则可能会发生连接失败。
⚠
请注意,启用 PROXY protocol 可能在未正确加固的情况下使后端服务器暴露于潜在的恶意请求中。