nginx中的$http_x_forwarded_for
时间: 2023-08-15 11:05:59 浏览: 234
x-forward-for:X-Forwarded-For标头浏览器扩展
`$http_x_forwarded_for` 是 Nginx 的一个内置变量,它用于获取客户端的真实 IP 地址。当客户端与 Nginx 之间存在一层或多层反向代理服务器时,客户端的真实 IP 地址会被代理服务器的 IP 地址所代替。这时,我们可以通过读取 HTTP 请求头中的 X-Forwarded-For 头部信息来获取客户端的真实 IP 地址。
当使用反向代理服务器时,我们需要在 Nginx 的配置文件中设置 `$http_x_forwarded_for` 变量,以便获取客户端的真实 IP 地址。通常,我们可以按照以下方式进行设置:
```
location / {
proxy_pass http://backend;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
```
这里,我们使用 `proxy_set_header` 指令将 `$remote_addr` 和 `$proxy_add_x_forwarded_for` 变量设置为 X-Real-IP 和 X-Forwarded-For 请求头信息。这样,当客户端与 Nginx 之间存在一层或多层反向代理服务器时,我们就可以通过 `$http_x_forwarded_for` 变量获取客户端的真实 IP 地址了。
阅读全文