1. nginx 配置文件中获取源IP的配置项
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; #一般的web服务器用这个 X-Real-IP 来获取源IP
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; #如果nginx 服务器是作为反向代理服务器的,则这个配置项是必须的;否则看不到源IP
2. nginx 代理服务器的模块
nginx 通过 ngx_http_proxy_module模块 实现反向代理;在nginx 启动服务load conf时,
就会读取 proxy_set_header 的配置项;来获取需要的变量。proxy_set_header 是用来设置请求的header的;
比如:设置上面的host X-Real-IP x-forwarded-for
3. 3个配置项的含义
- host:只要 用户在浏览器中访问的域名绑定了 VIP VIP 下面有RS;则就用$host ;host是访问URL 中的域名和端口 www.taobao.com:80
- X-real-IP:把源IP 【$remote_addr,建立HTTP连接header里面的信息】赋值给X-Real-IP;这样在代码中 $X-Real-IP
来获取 源IP - x-forwarded-for: 在nginx 作为代理服务器时,设置的IP列表,会把经过的机器ip,代理机器ip都记录下来,