美文网首页nginx Java学习笔记
关于 阿里云云盾 使用Nginx 代理后无法获取用户真实ip的问

关于 阿里云云盾 使用Nginx 代理后无法获取用户真实ip的问

作者: 我不是机器猫 | 来源:发表于2016-10-01 22:33 被阅读257次

           这个问题发生在我们公司的服务器迁移到阿里云后,并且使用了阿里云云盾,加上我在centOS 7.2 下使用 nginx 1.10.1 做网站的负载均衡;开始发现获取的用户ip都是 云盾的回源ip,无法获取真实的 ip。

           今天有兴研究了一下这个问题,终于解决,要点如下:

          1. nginx 编译安装的时候需要带参数:--with-http_realip_module

          2. nginx 配置文件里面需要加如下三行

        
           第二行我加马赛克的,是我服务器的内网ip,第三行是关键;加在 http
    模块里面;

            然后我们就可以,在 java 里面 使用 request.getAttribute("HTTP_X_FORWARDED_FOR") 获取到 真实的ip; 在 asp.net 里面使用 Request.ServerVariables["HTTP_X_FORWARDED_FOR"] 。

             大功告成!

    相关文章

      网友评论

        本文标题:关于 阿里云云盾 使用Nginx 代理后无法获取用户真实ip的问

        本文链接:https://www.haomeiwen.com/subject/wozryttx.html