服务器被 DDoS 攻击,如何临时切换到备用服务器?
服务器突然被DDoS攻击,业务中断,备用服务器又冷在一旁不知道怎么用?
别慌,这篇教程从零开始,教你在攻击发生时几分钟内把流量临时切换到备用服务器上,先保住业务正常运行,再慢慢处理攻击。
什么情况下需要执行切换?
不是所有攻击都要切备用服务器。
一般来说,满足以下条件时建议立即执行切换:
- 当前服务器带宽或CPU被打满,无法正常响应请求
- 攻击流量明显超出服务器和带宽上限(比如10Gbps以上)
- 已经确认备用服务器是独立IP、独立带宽,且已同步好业务数据
- 短时间无法通过清洗或封堵解决,需要先保障用户访问
切换前的三项准备
操作前先确认三件事,缺一不可:
- 备用服务器已部署好相同环境并跑通业务(网站、数据库、缓存等)
- 备用服务器与主服务器数据基本一致(如果没做实时同步,需要手动迁移最近一次备份)
- 准备好域名解析控制台权限(比如阿里云DNS、DNSPod、Cloudflare),或者CDN/负载均衡管理后台
如果备用服务器还是全新的,先配好LNMP/LAMP环境,导入数据库,挂载网站代码,并测试通过 http://备用服务器IP 能正常访问。
三步完成临时切换(以DNS切换为例)
这是最通用、最快速的方法,不需要修改任何代码。
第一步:确认备用服务器IP健康
先在浏览器访问备用服务器的IP或临时域名,确保能正常打开网站主页、登录页面。
如果有API接口,也测试一下返回200。
第二步:修改域名解析记录
登录你的DNS管理后台(以阿里云DNS为例):
- 进入“云解析DNS” → 选择域名 → 点击“解析设置”
- 找到你的业务域名对应的A记录(例如
www.example.com的A记录) - 点击“修改”,将“记录值”从主服务器IP改为备用服务器IP
- TTL(生效时间)建议改为 300秒(5分钟),加快全球生效速度
- 保存确认
如果使用了CDN(如Cloudflare、又拍云),也需要进入CDN控制台,修改源站IP为备用服务器IP,并开启灰色代理(仅DNS)或更改回源策略。
第三步:等待DNS生效并验证更改
DNS切换一般5-30分钟全球生效。
你可以通过以下方式检查是否生效:
- 在本地电脑打开命令行:
nslookup www.example.com,看返回的IP是否已变成备用IP - 使用在线DNS检测工具(如
www.dnschecker.org)查看全球解析结果
验证切换是否成功
切换后必须做两项验证:
- 功能验证:访问网站、登录后台、测试关键流程(如注册、支付)是否正常
- 压力验证(可选):可以用压力测试工具(如ab、wrk)发少量请求,确认备用服务器能承载当前访问量
如果发现网站样式错乱或部分功能异常,通常是静态资源路径写死了域名或IP,需要检查配置文件或临时修改hosts测试。
常见问题与避坑
Q:切换后用户还是打不开?
- 检查本地DNS缓存:执行
ipconfig /flushdns(Windows)或sudo dscacheutil -flushcache(Mac) - 等5分钟后再次查看解析结果,全球生效需要时间
- 确保备用服务器的防火墙允许80/443端口,并已放行云安全组
Q:备用服务器和主服务器数据不一致怎么办?
如果无法做实时同步,建议在切换前 手动同步一次完整数据(例如使用rsync同步网站目录,导出导入数据库)。
切换后业务只写在备用服务器,等攻击结束后再回迁数据到主服务器。
Q:多域名同时被攻击,如何批量改解析?
使用DNS平台的 “批量修改” 功能(阿里云支持批量修改解析记录),或者导出解析记录,修改后批量导入。
避坑提醒:
- 不要只改A记录:如果业务用了CNAME、MX等其他记录,也要一并检查调整
- 切换前先停掉主服务器上的Web服务(如nginx stop),以免攻击流量继续涌入主服务器带宽被打满
- 做好回滚预案:保存好切换前的解析记录截图,方便快速恢复
最后
如果你正遇到DDoS攻击,建议优先按本文步骤切换到备用服务器,先让业务活下去。
攻击结束并确认主服务器安全后,再逐步切回主节点。
只要准备充分,切换过程完全可以控制在10分钟内完成。
遇到异常时,对照“常见问题与避坑”部分逐一排查,基本都能解决。