nginx 两层转发 真实ip
时间: 2023-10-11 14:12:08 浏览: 169
您好!对于在 Nginx 上实现两层转发并获取真实 IP 的问题,可以通过配置 Nginx 的反向代理和设置 HTTP 请求头来实现。下面是一种可能的配置示例:
1. 在第一层 Nginx 配置文件中,设置反向代理到第二层 Nginx 的 IP 和端口:
```
location / {
proxy_pass http://第二层Nginx的IP和端口;
}
```
2. 在第二层 Nginx 配置文件中,设置获取真实 IP 的方法。使用 `real_ip_header` 和 `set_real_ip_from` 指令来告诉 Nginx 从哪个 HTTP 请求头获取真实 IP,并且指定可信任的代理 IP 地址范围:
```
http {
...
set_real_ip_from 第一层Nginx的IP地址;
real_ip_header X-Forwarded-For;
...
}
```
请注意,第一层 Nginx 的配置中的 `proxy_set_header X-Real-IP $remote_addr;` 也需要添加到相应的位置,以便将客户端真实 IP 传递给第二层 Nginx。
这样配置后,第二层 Nginx 将会通过 `X-Forwarded-For` 头部获取到真实客户端 IP 地址。您可以在自己的应用程序中获取到该头部的值来获取真实 IP。
希望能对您有所帮助!如果有任何问题,请随时提问。
阅读全文