本指南目标是让移动端访问来自海外但目标用户在中国大陆的场景下,使用 CDN 和缓存规则降低延时、提高命中率与用户体验。主要关注 DNS 策略、国内/国际 CDN 联动、缓存策略、协议优化与合规(如 ICP 备案)。
步骤:1) 使用 traceroute/mtu/ping 检测从海外回国时延与丢包(例:traceroute -n example.com);2) 在移动端用真实设备或云真机测试(注意移动网络下的 DNS 解析);3) 收集最慢的 URL、资源类型(JS/CSS/图片/视频/API)。准备好域名、证书(支持 SNI)、源站日志与 CDN 控制台账号。
步骤:1) 采用全球 CDN + 中国大陆 CDN 的组合,或选择支持“回国加速/海外回源”的厂商;2) DNS 使用 GSLB/GeoDNS,按客户端地理位置或 ASN 返回国内节点 IP;3) 配置 Origin Shield 或回源加速,避免源站直接承受慢链路;4) 为移动端启用 Anycast、BGP 多线出口。
步骤:1) 在 DNS 服务中配置 A/AAAA 与 CNAME,海外解析返回全球 CDN,国内解析返回国内节点(或同一厂商的中国镜像);2) 设置最小 TTL(通常 60-300s)以便切换;3) 在 GSLB 中按运营商优先级(CT/CU/CM)和最近 RTT 做健康检查并调整权重;4) 开启 DNS over HTTPS/TLS 以改善移动端解析稳定性。
步骤与示例:1) 静态资源(图片、JS、CSS)设置响应头 Cache-Control: public, max-age=31536000, immutable;2) HTML 主文档设置 Cache-Control: no-cache, s-maxage=60, stale-while-revalidate=30;3) API 返回按业务设定短缓存或使用 ETag/If-None-Match;4) 在 CDN 控制台中配置缓存键:一般包含 host+path,不包含 sessionid、 Authorization;对 query-string 使用白名单(例如 ?v=xxx 用于版本控制);5) 添加 Vary: Accept-Encoding,并为移动 UA 设置特殊规则(可基于 User-Agent 做不同缓存分组)。
步骤:1) 启用 HTTP/2、QUIC(HTTP/3)和 TLS 1.3,减少握手;2) 开启 TLS 会话恢复、0-RTT(注意重放风险);3) 启用 Brotli 与 Gzip 压缩(移动端优先 Brotli);4) 使用图片自动转换(WebP/AVIF)与按需裁剪(CDN Image API);5) 对视频使用 HLS/DASH + 多码率,设置 edge 缓存并启用 range 请求缓存策略。
步骤:1) 回源带宽与并发限制设置合理(设置 origin-shield/pooled origin);2) 通过 CDN 控制台或 API 做缓存预热(将重要 URL 列表 POST 到 /prefetch 接口),避免冷启动;3) 使用批量清理 API(按前缀清理或版本化资源避免频繁 purge);4) 配置 stale-if-error 与 origin failover 策略,保证源站不可达时仍服务缓存内容。
答:海外回国流量穿越国际链路与中国运营商链路,存在高延时、丢包和不稳定性;同时中国有特定的互联网接入政策与节点分布。定制 DNS/GSLB、选择国内节点、启用回源加速与协议优化,能显著降低首包时延与丢包率,提升移动端体验。
答:最佳实践是把 host+path 作为基础缓存键,按需包含必要 query 参数(白名单模式),排除 session/cookie/Authorization 等会导致唯一化的字段。使用 CDN 的缓存规则做条件判断(User-Agent、Accept、Cookie),并在源端返回合理的 Cache-Control 与 ETag 配合边缘缓存。
答:在中国大陆提供服务需办理 ICP 备案(域名对应服务器或 CDN 提供者);证书需要覆盖国内域名且支持 SNI;与国内 CDN 厂商或带有中国节点的全球 CDN 合作更稳妥;最后测试要覆盖主流移动网络(中国移动/联通/电信),并持续根据监控数据调整 GSLB 权重与缓存策略。
