real_ip_header
real_ip_header 指令指定用于获取客户端真实 IP 地址的 HTTP 头的名称。 — NGINX HTTP Core
real_ip_header
httpserverlocation
语法real_ip_header string;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
`real_ip_header` 指令用于定义当 NGINX 服务器位于反向代理或负载均衡器之后时,哪个 HTTP 头应包含客户端的真实 IP 地址。该指令对于准确记录和处理客户端请求非常重要,因为它允许 NGINX 提取原始客户端 IP,而不是转发请求的代理的 IP。 配置后,NGINX 会检查传入请求中指定的头,并使用其中的值替换从 socket 得到的值。这在存在多个代理的场景中特别有用,能够确保应用正确识别最初发起请求的客户端 IP。 该指令接受单个参数,通常是像 `X-Forwarded-For`、`X-Real-IP` 或您基础设施使用的自定义头这样的头。该指令可以放置在 `http`、`server` 或 `location` 上下文中,根据您的架构提供灵活性。
配置示例
http {
real_ip_header X-Forwarded-For;
}⚠
确保代理或负载均衡器配置为发送用于真实客户端 IP 的正确 HTTP 头部。
⚠
不正确的配置可能导致伪造,使不受信任的客户端能够将该头部设置为任意值。
⚠
使用多个反向代理可能需要为头部转发进行额外配置。