场景原理:html
场景: 前端SLB--->nginx---->proxy
前端
1.首先须要配置SLB(阿里云负载均衡)让slb记录用户真实IP功能linux
SLB是阿里云的一款负载均衡服务产品,和LVS同样,咱们能够理解为LVS服务,(可是咱们没有对lvs服务器的管理权限)
此处勾选便可nginx
2.tomcat开启X-Forwarded-For日志功能web
开启tomcat的X-Forwarded-For,在tomcat/conf/server.xml中,修改AccessLogValve日志纪录功能为以下内容:docker
<valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%{X-Forwarded-For}i %h %l %u %t %r %s %b"></valve>
提示:修改完重启生效!!数据库
被攻击的日志检查客户真实IP:apache
3.Nginx配置隔离tomcat
在Server标签下添加以下几行服务器
set $allow true; if ($http_x_forwarded_for ~ "106.121.*.*|106.121.71.120|106.121.77.28|106.121.74.130|218.109.235.254"){ set $allow false; } if ($allow = false){ return 404; } #提示:IP添加在上面!
小结: 由于没法禁止用户进行访问,咱们设置404能够让IP没法进行访问数据库。否则数据库会被查询语句进行刷爆。