用阿里云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被攻击打封玩家无法登陆 ,
大网波动频繁稳定性无法保证,服务器宕机无法预料......那么您需要小蚁盾游戏云防护给您带来全新的游戏服务器使用体验 。
您可以自行到阿里云官方网站购买适合您使用的配置、宽带(建议选择华东区)作为游戏源服务器,权限只有您自己知道,保证数据安全。