1.1 使用 curl 检查响应头:curl -I -s -D - https://your.site | egrep -i "cache|server|via|x-cache|cf-cache-status"。注意 Cloudflare 的 CF-Cache-Status, Akamai/Edge 的 X-Cache 等字段。
1.2 直接访问源站 IP 比较:在本地 hosts 临时指向源站 IP(注意安全),例如在 /etc/hosts 添加 "1.2.3.4 your.site",再用curl对比响应时间。若源站快而经由 CDN 慢,说明问题在 CDN 层。
1.3 使用 dig/traceroute:dig your.site +short;traceroute/tracepath 到 CDN 域名检查网络跳数和丢包,排查网络拥塞。
2.1 登录 CDN 控制台查看健康状态、实时日志和告警(带宽、请求数、后端 5xx)。
2.2 查看 CDN 厂商公告(status page)是否有已知故障或路线问题。
2.3 如果支持 origin shield 或区域隔离,查看该功能是否出现异常或被误配置。
3.1 在 CDN 控制台开启“开发者模式”或“源站直连/旁路”功能,让请求直接回源而不走缓存(如 Cloudflare 的 Development Mode 或 Pause)。
3.2 若无法在控制台操作,临时修改 DNS:将域名从 CNAME 指向 CDN 改为指向源站 A 记录(或临时子域),前提是你能快速降低 TTL 并且源站可以承受流量。
3.3 操作步骤(DNS 切换示例):提前把域名 TTL 设置为 60s;在面临问题时,把 CNAME 删除并添加 A/ALIAS 指向源站 IP,等待生效并监测。
4.1 在 CDN 控制面板关闭或降低缓存缓存层级(让更多请求回源),或开启“Origin Pull”频率控制。
4.2 开启 gzip/brotli 压缩、HTTP/2 或 HTTP/3,加快传输速率;若 CDN 的传输模块故障,尝试关闭某些高级功能。
4.3 清理热点缓存(Purge)而不是全部清理:只清除大流量、频繁报错的 URL,避免造成额外回源压力。
5.1 Nginx 快速优化(示例):worker_processes auto; worker_connections 10240; keepalive_timeout 15; sendfile on; tcp_nopush on; tcp_nodelay on; client_body_buffer_size 16k。
5.2 降低动态页面开销:临时禁用慢插件、关闭实时分析、延迟非必要第三方脚本加载(analytics、chatbot 等)。
5.3 扩展后端:若使用云主机,立即启用自动扩容或手动上线备用实例,并把它们加入负载均衡池。
6.1 在应用或负载均衡层设置速率限制(rate limiting),例如每 IP 每秒请求数上限,防止爬虫或恶意刷量。
6.2 在 CDN 或 WAF 层启用挑战/验证码(CAPTCHA)或阻断可疑请求,优先保证真实用户访问。
6.3 对非关键资源(图片、静态文件)返回 503 或临时降级内容,减少后端压力。
7.1 若有多 CDN 策略,立即在 DNS 或全局流量管理器(GTM)中把流量切换到备用 CDN。
7.2 使用 DNS 负载均衡或 BGP 智能调度,把一部分流量分流到备用服务,逐步监测性能。
7.3 若没有备用 CDN,可考虑把静态资源临时迁移到对象存储(如 S3/OSS)并直接通过加速域名提供。
8.1 启用详细访问日志与 CDN 日志导出(至少捕获 5xx、长响应时间、客户端 IP、请求 URL 和响应头)。
8.2 用 APM/监控看板(Prometheus/Grafana/Datadog)追踪 RPS、响应时间、错误率、后端连接数等指标。
8.3 记录每一项临时变更(谁、何时、为什么),便于回滚与复盘。
9.1 每次调整后用 curl、浏览器无缓存测试和合规工具检测(例如 Lighthouse)快速验证。
9.2 如果 DNS 切换遇到异常,立即回滚到原 CDN(把 A 记录改回 CNAME),并恢复较高 TTL。
9.3 在流量恢复稳定后,按变更记录逐一恢复被关闭的功能并继续观察 24-72 小时。
10.1 分析日志找出性能瓶颈:是 CDN 边缘节点过载、回源链路问题还是源站连接数耗尽。
10.2 建议长期措施:预先降低 TTL、配置多 CDN、设置自动扩容、优化缓存规则(长缓存热点静态资源)、在流量高峰前进行压测。
10.3 建立事故 playbook 并演练,包括 DNS 切换、备用 CDN 上线、速率限制模板与回滚流程。
答:首先用 curl 查看响应头的缓存、路由信息(例如 CF-Cache-Status、X-Cache);用 hosts 临时指向源站对比响应时间;查看 CDN 状态页与边缘节点日志。如果确认是边缘节点问题,优先在 CDN 控制台开启开发/旁路模式或把热点路径 purge 然后回源,同时在 CDN 面板或 DNS 将流量导向备用节点/备用 CDN。
答:先把 DNS TTL 提前降到较低值(如 60s)以便快速切换;如无法提前,优先在 CDN 控制台利用“开发模式”或调整缓存策略让更多请求回源;同时在源站快速做性能与并发优化(增加实例、调整 Nginx 配置、限流),并逐步将静态资源迁移到云对象存储并用新的域名提供。
答:切换前确保源站应用的安全组/防火墙只允许必要端口;启用临时访问控制(白名单仅允许特定调试 IP);如果必须公开源站 IP,尽快配合 WAF、速率限制与 IP 黑名单防护,且在流量稳定后及时恢复原 CDN 并隐藏源站 IP。
