确认你在台湾的机房或者云服务商支持 CN2/BGP 优选线路(确认 ASN、BGP peer、Anycast 支持);准备高防服务(高防 IP、清洗流量通道)并获取接入文档与 API。
准备如下信息:公网 IP 列表、BGP 路由类型(主/备)、DNS 提供商能否支持 GeoDNS/健康检查、CDN 可用性、后端 origin 列表(内网/弹性 IP)。
建议三层拓扑:边缘 CDN/Anycast(缓存与静态加速)→ CN2 高防(清洗与 TCP/HTTP 保护)→ 区域负载均衡(HAProxy/Nginx)→ 后端 origin 集群(应用/存储)。
在边缘启用尽可能高的缓存命中(静态/可缓存动态),高防主要做 L3-L7 清洗并对恶意流量做速率限制与挑战,区域 LB 做健康检查与会话粘性。
与运营商协商:在 BGP 公告中标注最佳 prep 和路由优先级;使用不同社区(community)实现回源策略(如将大流量导向高防链路)。
测试:使用 traceroute/mtr/tcping 验证 CN2 路径(应走 CN2 骨干),并在切换时观察 BGP 收敛与用户 RTT。
使用支持 GEO 路由的 DNS(或 NS1/Route53 等):为台湾用户返回 CN2+高防的 IP,海外返回公共 CDN IP;配置低 TTL(如 60s)以便快速切换。
配置健康检查:每 10-30s 检查边缘与高防与后端健康,失败时通过 DNS 或负载均衡切换到备份线路或备份机房。
将流量先引导到高防 IP(运营商侧或 DNS 层),在高防控制台配置白名单/黑名单、速率阈值、CC 防护策略;启用 SYN/UDP 等基础防护并记录清洗阈值。
对明确业务 IP 段做磁贴放行,对异常流量启用 JS Challenge/验证码,并将疑似攻击流量重定向到清洗池。
在边缘 CDN 与本地 Nginx 上采用分层缓存:边缘强缓存(TTL 长)、中间缓存(反向代理缓存 TTL 中等)、origin 缓存仅作短期或不缓存。
示例 Nginx 配置(要点,不是完整文件): proxy_cache_path /data/cache levels=1:2 keys_zone=cache_zone:200m max_size=200g inactive=30d use_temp_path=off; proxy_cache_key "$scheme$host$request_uri"; add_header X-Cache-Status $upstream_cache_status; map $request_uri $no_cache { ~*/api/ 1; default 0; } server { location / { if ($no_cache) { proxy_cache_bypass 1; } proxy_cache cache_zone; proxy_cache_valid 200 302 1h; proxy_cache_valid 404 1m; } }
缓存穿透:对请求参数做白名单或校验,拒绝明显非法请求;对频繁未命中同一 key 的请求设置短期内限流。
缓存击穿:采用互斥锁或 early stale(stale-if-error),Nginx 用 proxy_cache_lock on; proxy_cache_use_stale error timeout updating; 来避免同时回源。
Nginx 示例:limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; 在 /api/ 等敏感路径应用更严格限制并配合 limit_conn_zone 控制并发连接。
会话粘性建议在负载均衡层实现(HAProxy 的 cookie 或 Nginx 的 ip_hash),但对于多机房部署推荐无状态设计并用公共 session 存储(Redis)。
监控项:PPS/QPS、RTT、丢包、cache hit ratio、origin CPU/IO、清洗流量比率、BGP 路由变动。设置告警阈值并自动触发流量切换。
演练:制定切换脚本(DNS API、负载均衡 API、高防规则 API);线上演练先在低峰流量时段,验证回滚流程与监控报警是否精准。
答:CN2 本身优化的是到中国大陆的传输路由,通常对台湾到大陆用户能降低 RTT;引入高防会增加一次清洗/转发环节,可能带来几 ms 到几十 ms 的额外延时,但对缓存命中率无直接影响。要保证高命中率,应把缓存策略放在边缘 CDN 或 Nginx 层,不把高防当缓存层;同时通过 keepalive 与连接复用降低清洗链路带来的延时。
答:用 mtr/traceroute/tcpdump 验证路径:traceroute/tcptraceroute 到目标 IP 看是否走 CN2 ASN;用抓包检查是否有高防特征(如清洗返回码、challenge 页面);在攻击演练时观察高防控制台的清洗统计与被清洗流量是否下降,以及 origin 的连接数是否回落。
答:第一步启用 cache-stale 策略(让边缘继续返回过期内容);第二步通过 DNS 或 LB 快速切换到备用机房或启用只读维护页;第三步在高防控制台提高清洗力度并对异常 IP 策略封堵;最后逐步回源并监控 cache hit_ratio 与后端健康,必要时扩大实例或临时加速缓存 TTL。