阿里云SLB后NginxTomcat获取真实IP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云SLB后NginxTomcat获取真实IP相关的知识,希望对你有一定的参考价值。

一、SLB后nginx如何获取真实IP

前提:nginx作为slb获取真实ip是使用 http_realip_module,默认一键安装包安装的nginx没有安装这个模块需要重新重新编译nginx并加装。

  查看是否安装此模块:./nginx -V

  如没有安装此模块,需重新编译nginx增加 --with-http_realip_module

1、阿里云SLB需要开启获取真实IP(默认已开启)

2、修改Nginx配置文件nginx.conf

添加: 

http {

  log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
              ‘$status $body_bytes_sent "$http_referer" ‘
              ‘"$http_user_agent" "$http_x_forwarded_for"‘;

  access_log  /home/logs/nginx_access.log  main;

  server {
    listen 80;
    server_name domain_name;
    location / {
      proxy_set_header Host $http_host;
      proxy_redirect off;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://IPADDR:PORT;
    }
  }

}

3、日志内容如下:

技术分享

 

二、SLB后Tomcat如何获取真实IP

1、修改Tomcat配置文件

   技术分享

2、重启Tomcat服务,日志内容如下:

技术分享

 













以上是关于阿里云SLB后NginxTomcat获取真实IP的主要内容,如果未能解决你的问题,请参考以下文章

阿里云SLB后NGINX、TOMCAT获取真实IP

使用LVS或者阿里云的SLB后如何获取访客真实的IP地址

阿里云X-Forwarded-For 发现tomcat记录的日志所有来自于SLB转发的IP地址,不能获取到请求的真实IP。

阿里云日志能取到ip吗

阿里云SLB七层负载 流量跑满处理

阿里云SLB和VPC的限制关系