nginx Java学习笔记

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

2016-10-01  本文已影响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"] 。

         大功告成!

上一篇下一篇

猜你喜欢

热点阅读