前面我说了前端nginx代理如何记录客户端真实IP,能满足我们大部分的需求。但是今天我们前端测试后端web商城支付时必须要后端业务服务器也必须记录客户端真实IP地址,不然支付不能通过。
1、在反向代理服务器的nginx.conf配置文件中进行配置。
location /bbs { proxy_pass http://192.168.214.131/bbs; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 2、在后端的nginx web服务器上,要确认nginx有没有编译安装 --with-http_realip_module模块。 3、realip 模块的作用是:当本机的nginx处于一个反向代理的后端时获取到真实的用户IP。
如果没有realip模块,nginx的access_log里记录的IP会是反向代理服务器的IP,PHP中$_SERVER[‘REMOTE_ADDR’]的值也是反向代理的IP。
4、然后在后端nginx web服务器的nginx.conf配置文件中进行修改。
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; set_real_ip_from 192.168.214.132; real_ip_header X-Real-IP;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 5、打开日志查看是否能记录真实IP。
您还未添加分享代码,请到主题选项中,添加百度分享代码!
您可以选择一种方式赞助本站
支付宝转账赞助
支付宝扫一扫赞助
微信钱包扫描赞助