nginx隐藏真实IP的配法
时间: 2023-07-01 10:21:28 浏览: 96
要隐藏真实IP地址,可以使用Nginx的HttpRealipModule模块。
首先,在Nginx配置文件中添加以下代码:
```
http {
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
}
```
这里将X-Forwarded-For设置为real_ip_header,表示从请求头部中获取客户端真实IP地址。set_real_ip_from指定了允许的代理服务器IP地址,0.0.0.0/0表示允许任何IP地址。
然后,在upstream服务中添加以下代码:
```
upstream backend {
server backend1.example.com;
real_ip_header X-Forwarded-For;
}
```
这里将X-Forwarded-For设置为real_ip_header,表示从请求头部中获取真实IP地址。
最后,在Nginx服务器中使用代理服务器,将客户端请求转发到upstream服务中:
```
server {
listen 80;
server_name example.com;
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设置X-Real-IP和X-Forwarded-For请求头部,用于传递客户端真实IP地址。在upstream服务中,使用real_ip_header指定从请求头部中获取真实IP地址。
这样配置后,Nginx将从请求头部中获取真实IP地址,并将其传递给upstream服务,同时隐藏了客户端的真实IP地址。