介绍
我们访问互联网上的服务时,大多数时,客户端并不是直接访问到服务端的,而是客户端首先请求到反向代理,反向代理再转发到服务端实现服务访问,通过反向代理实现路由/负载均衡等策略。这样在服务端拿到的客户端IP将是反向代理IP,而不是真实客户端IP,因此需要想办法来获取到真实客户端IP,nginx需要加载模块--with-http_realip_module
。
配置
nginx反向代理服务器配置
1 2 3 4 5 6 7 8 9 10 11
| server { listen 80; server_name localhost; location /pos/ { proxy_pass http://192.168.40.101; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
|
nginx服务端配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| server { listen 80; server_name localhost;
set_real_ip_from 192.168.40.100; real_ip_header X-Forwarded-For; real_ip_recursive on;
location / { root html; index index.html index.htm; } }
|