用阿里云ECS服務器容易被DDoS進黑洞而又沒錢購買DDOS高防IP時。
并不是沒有其他的解決辦法,因為有很多ISP提供價格較為低廉的高防服務器。
每個月也才幾千塊錢,相較阿里云動輒幾萬每月的高防服務,確實便宜了很多。
本文根據自己的需要,說明了一下如何使用第三方高防服務器為自己清洗流量。
首先,看一下目前使用的流程邏輯。
平時用戶端直接訪問阿里云的應用服務器。
被攻擊時,將域名解析到高防IP上,通過Nginx反向代理回源到阿里云服務器上。
由于阿里云服務器被DDOS時會進黑洞,所以加了一個用來將外網請求映射到內網的代理服務器。
為了提高被攻擊時的網站打開速度,高防服務器上會使用靜態文件緩存。
減少向后端應用服務器請求的次數。
首先高防服務器上Nginx配置如下
http
{
# 設置緩存目錄
proxy_temp_path /home/proxy_cache_dir 1 2;
# 靜態文件目錄 1天
proxy_cache_path /home/proxy_temp_dir/cache_img levels=1:2 keys_zone=cache_img:1024m inactive=1d max_size=100g;
# html文件目錄 10分鐘有效
proxy_cache_path /home/proxy_temp_dir/cache_html levels=1:2 keys_zone=cache_html:1024m inactive=10m max_size=100g;
# 設置服務器地址
upstream server_huanan {
server 120.76.0.0:80;
}
server
{
listen 80;
server_name www.qs5.org;
# 添加緩存命中頭信息
add_header X-Cache $upstream_cache_status;
# 清除緩存
location ~ /purge_img(/.*) {
proxy_cache_purge cache_img $host$1$is_args$args;
}
location ~ /purge_html(/.*) {
proxy_cache_purge cache_html $host$1$is_args$args;
}
# html文件緩存 緩存10分鐘
location ~ .(html|htm)$ {
proxy_pass http://server_huanan;
proxy_set_header Host $host;
#設置資源緩存的zone
proxy_cache cache_html;
#設置緩存的key
proxy_cache_key $host$uri$is_args$args;
#設置狀態碼為200和304的響應可以進行緩存,并且緩存時間為10分鐘
proxy_cache_valid 200 304 10m;
expires 10m;
}
# 圖片文件緩存
location ~ .(jpg|png|gif|css|js)$ {
proxy_pass http://server_huanan;
proxy_set_header Host $host;
#設置資源緩存的zone
proxy_cache cache_img;
#設置緩存的key
proxy_cache_key $host$uri$is_args$args;
#設置狀態碼為200和304的響應可以進行緩存,并且緩存時間為1天
proxy_cache_valid 200 304 1d;
expires 1d;
}
# 其他文件反向代理回源
location / {
proxy_pass http://server_huanan;
proxy_set_header Host $host;
}
access_log /home/wwwlogs/qs5_www_org.log;
}
}
具體每個參數的意義,該寫注釋的我都寫了,自己酌情百度意義并進行修改。
注意,請不要照抄我的代碼,好多地方是你需要額外處理的。
中間代理服務器的Nginx配置
這個就比較簡單了,直接反向數據回去就好。
server
{
listen 80;
server_name www.qs5.org;
# 直接反向數據回應用服務器的內網IP上
location / {
proxy_pass http://192.168.1.16:80;
proxy_set_header Host $host;
}
access_log /home/wwwlogs/qs5_www_org.log;
}
同時,需要注意的是,阿里云內網一定要互通。
安全組或者路由一定要允許代理服務器通過內網訪問應用服務器的80端口。
而服務器被攻擊時,最好使用安全組禁止應用服務器的外網訪問。
當然,其實更好的解決方案應該是:
應用服務器始終在內網使用。
一直使用邊緣服務器提供對外服務。
高防服務器直接反向到應用服務器上。
這樣就避免了黑洞時還要使用一個代理服務器做跳板的問題了。
邊緣服務器和高防服務器的Nginx配置一致。
要快速解決建議用小蟻網絡高防立體防御,支持免費測試,防不住,雙倍退全額。有多種解決方案:www.xy3000.com
您是否收到過這樣的困擾?曾每月花費過數千上萬元租用高防服務器,游戲端口依然被DDOS/CC打滿游戲超卡,服務器IP被攻擊打封玩家無法登陸 ,
大網波動頻繁穩定性無法保證,服務器宕機無法預料......那么您需要小蟻盾游戲云防護給您帶來全新的游戲服務器使用體驗 。
您可以自行到阿里云官方網站購買適合您使用的配置、寬帶(建議選擇華東區)作為游戲源服務器,權限只有您自己知道,保證數據安全。