首页 > 其他 > 详细

在nginx反代后端nginx真实服务器获取客户端IP

时间:2017-01-18 23:52:05      阅读:455      评论:0      收藏:0      [点我收藏+]

实验:测试前端使用nginx做代理,在后端服务器上获取客户端真实IP

真实服务器:192.168.10.11

      192.168.10.14

代理服务器:192.168.10.12

 客 户 端:192.168.10.13

      192.168.10.2


1.在nginx代理服务器上设置

    upstream web {

       server 192.168.10.11;

       server 192.168.10.14;

       }

    

    server {

        listen       80;

        server_name  localhost;

        location / {

            proxy_pass http://web;

            proxy_set_header host      $host;

            proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;

            proxy_set_header X-real-ip    $remote_addr;

        }


2.在后端服务器设置    

    log_format  test1  ‘$remote_addr - $http_x_forwarded_for‘;

    access_log  logs/access.log  test1;


3.使用客户端访问代理服务器


4.查看后端服务器访问日志    

    192.168.10.12 - 192.168.10.13

    192.168.10.12 - 192.168.10.13

    192.168.10.12 - 192.168.10.2

    192.168.10.12 - 192.168.10.2

可以看出,真实服务器上的$remote_addr是代理的IP,$http_x_forwarded_for就是客户端的真实IP了.

在nginx反代后端nginx真实服务器获取客户端IP

原文:http://11654930.blog.51cto.com/11644930/1892872

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!