nginx获取真实ip
时间: 2023-09-07 09:15:21 浏览: 175
基于Nginx 反向代理获取真实IP的问题详解
要在 nginx 中获取客户端的真实 IP 地址,可以使用以下两种方法:
1. 使用 HTTP 模块的 Real IP 模块
在 nginx 的配置文件中,可以使用 HTTP 模块的 Real IP 模块来获取客户端的真实 IP 地址。具体配置如下:
```
http {
...
set_real_ip_from 192.168.1.0/24; # 设置可信的 IP 段
real_ip_header X-Forwarded-For; # 设置真实 IP 所在的 HTTP 头字段
...
}
```
在上面的配置中,`set_real_ip_from` 指令用于设置可信的 IP 段,`real_ip_header` 指令用于设置真实 IP 所在的 HTTP 头字段。
2. 使用变量 $proxy_add_x_forwarded_for
在 nginx 中,可以使用变量 `$proxy_add_x_forwarded_for` 来获取客户端的真实 IP 地址。具体配置如下:
```
location / {
...
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
...
}
```
在上面的配置中,`proxy_set_header` 指令用于设置 HTTP 头字段,将 `$proxy_add_x_forwarded_for` 变量作为值传递给 `X-Forwarded-For` 头字段。
阅读全文