nginx反向代理后端web服务器记录客户端真实ip地址

前面我说了前端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。
       

您还未添加分享代码,请到主题选项中,添加百度分享代码!

您可以选择一种方式赞助本站

支付宝转账赞助

支付宝扫一扫赞助

微信钱包扫描赞助

┊. 恋小布 。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情