場景原理: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沒法進行訪問數據庫。否則數據庫會被查詢語句進行刷爆。