美文网首页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