阿里云全球加速获取真实IP(阿里云 slb https)

阿里云ECS获取客户端IP地址

如果用到了阿里的加速CDN和WAF的话,Nginx获取客户端IP就会比较凌乱。

下面是大多数情况下,Nginx的real_ip模块的一种合理配置

至于为什么,需要大家复习一下X-Forwarded-For的原理,这里就不多做解释了。下面是Nginx日志中实际获取到的Header信息

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

先介绍两个nginx模块

a、proxy_module

b、http_realip_module

注:默认 proxy_module 是会安装的,但是 http_realip_module 则需要自己指定编译参数 --with-http_realip_module 才会安装

一、Nginx获取真实IP

由于Nginx位于SLB后面,所以需要SLB监听设置中开启真实IP地址转发

设置位置: http, server, location

这里如果前端只有一个Nginx或者SLB,可以不写ip段那行(实际情况中发现SLB到nginx的情况,即使不写这些设置Nginx日志也可以拿到用户的真实IP)

更多关于 http_realip_module 请参考: http_realip_module 或 http_realip_module

二、tomcat获取真实IP

这里需要Nginx向tomcat转发用户真实IP

配置好之后怎么看tomcat是不是可以拿到真实ip呢?

可以修改tomcat的localhost_acess输出的日志格式来查看配置是否成功

修改方法:修改tomcat配置文件server.xml

这个标签就是设置日志相关的,将这里修改为

或者

修改完之后重启tomcat服务,然后tomcat的localhost_access日志中就会打印出两个IP,一个是客户的真实IP,一个是前端反向代理的NginxIP

使用阿里云 cdn 以后怎么设置获取真实 ip

阿里云cdn显示的不是服务器ip。如果网站刻意通过CDN隐藏,理论上是没办法的。但是很多网站没刻意隐藏,可以查询历史解析记录,或者利用网站漏洞查询,或者其他未加速域名的解析记录查询。

未经允许不得转载:便宜VPS网 » 阿里云全球加速获取真实IP(阿里云 slb https)