(1)目标:国内用户走国内机房+CDN边缘,海外用户优先韩国VPS或CDN海外节点;(2)组件:域名解析(DNS)、CDN(全站或静态加速)、国内服务器(动态/数据库)、韩国VPS(特殊业务/近韩区域);(3)流程:DNS → CDN → 边缘缓存/回源 → 国内/韩国回源。
(1)韩国VPS:选择带 BGP 或良好国际出口的机房,记录公网IP、SSH端口;(2)国内主机:选国内运营商合法备案的主机用于动态请求;(3)域名备案:国内站点走国内主机时需完成 ICP 备案并在后台填写回源 IP。
(1)在国内/韩国主机分别安装 Nginx:sudo apt update && sudo apt install -y nginx;(2)基本 nginx 反代配置示例:server块中使用 proxy_pass 指向上游应用或本地服务;(3)设置 keepalive、gzip、Brotli 与合适的缓冲区以减低延迟。
(1)在 CDN 控制台新建 Pull Zone,回源填写韩国 VPS 或国内主机的域名/IP,优先填写国内主机并配置“回源备用”为韩国 VPS;(2)设置回源协议为 HTTPS(full)并上传自签或受信证书;(3)开启压缩、HTTP/2、缓存策略和访问加速。
(1)静态资源设置长缓存:Cache-Control: public, max-age=31536000;(2)动态接口设置短缓存或不缓存,并通过 Cache-Control: no-cache 或 private;(3)在 Nginx 中加入缓存控制示例:add_header Cache-Control "max-age=86400"; 并对 API 路径添加 proxy_cache_bypass。
(1)将域名的 A/AAAA 指向 CDN 提供的 CNAME(或直接按厂商建议);(2)使用 GeoDNS 或 CDN 的地理路由规则,将中国大陆流量优先走国内节点或国内主机回源;(3)设置较短 TTL(如60s)以便切换回源时快速生效。
(1)在 CDN 上启用 HTTPS,并选择 Full 或 Full (strict) 模式;(2)在国内/韩国主机上安装证书(Let’s Encrypt 可自动续期);(3)配置 WAF、DDoS 防护和限流规则,放行 CDN 的回源 IP 列表以避免被误封。
(1)工具:curl -I https://yourdomain.com 检查响应头、X-Cache 或 x-cache-status;(2)网络工具:mtr/tracepath 从不同区域测试到韩国 VPS 与国内主机的延迟与丢包;(3)日志与指标:开启 CDN 访问日志、Nginx access.log,并使用 Prometheus/Grafana 或 CDN 面板监控命中率与回源率。
(1)缓存未命中:检查请求头是否有 Set-Cookie 或 no-cache,确认 CDN 缓存规则;(2)证书错误:验证 CDN 到回源的证书链并确认 SNI 是否正确;(3)跨区延迟:如中国用户经由韩国回源高延迟,调整 GeoDNS 或把动态请求优先指向国内主机。
(1)使用 CI/CD 将配置(Nginx、证书)自动化部署至两地服务器;(2)设置 CDN 的自动清理 API:curl -X POST "https://cdn.api/purge" -H "Authorization: Bearer TOKEN" -d '{"url":"https://yourdomain.com/xxx"}';(3)定期演练回源切换与容灾,确保 TTL 与健康检查配置合理。
Q1: 为什么要同时使用韩国VPS和国内主机加CDN?
A1: 目的是兼顾不同区域用户体验:国内用户走国内主机+CDN 边缘可减少跨境延迟并满足备案要求;靠近韩国的海外用户或与韩国有业务依赖的请求可由韩国 VPS 低延迟响应,结合 CDN 的全球边缘可实现最佳覆盖与弹性。
Q2: 如何验证 CDN 是否正确回源到韩国VPS或国内主机?
A2: 使用 curl -I 检查响应头中的 x-cache 或 x-cache-status 字段;在 CDN 面板查看回源日志;并从国内与海外不同节点使用 traceroute/mtr 检测实际路由,确认回源 IP 与健康检查状态。
Q3: 切换回源或清理缓存时有哪些注意事项?
A3: 先在 CDN 设置短 TTL 或使用版本化 URL(如 /v2/)可避免大规模实时清理;使用 CDN 的 API 做批量 purge 并监控回源流量,切换期间注意流量峰值和回源负载,必要时开启限流或临时加大后端资源。