1
背景与总体方案概览
说明(1)为什么选择
新加坡CN2 VPS:CN2对亚太尤其是中国大陆到新加坡的延迟与稳定性更好;(2)为何结合CDN:CDN把静态资源分发到全球节点,结合CN2源站可降低源站负载并提升下载速度;(3)总体架构:用户→CDN Edge(Anycast)→新加坡CN2 VPS(Nginx/应用)。
2
选购CN2 VPS与CDN提供商的要点
步骤(1)选择支持CN2/GIA链路的VPS供应商并确认出口带宽与线路标签(如CN2 GIA/CMI);(2)核对机房位置(新加坡SIN);(3)选择CDN时优先Anycast、支持HTTP/2与TLS1.3、提供源站回源加速和自定义缓存规则;(4)若目标用户含中国大陆,考虑有中国节点或与中国运营商互联的CDN并注意ICP备案要求。
3
VPS下单与基础环境初始化
操作(1)选择Ubuntu 22.04或Debian 12;(2)登录后执行:apt update && apt upgrade -y;(3)创建非root管理员并配置SSH密钥:adduser deploy; usermod -aG sudo deploy;(4)修改SSH端口并禁用密码登录(/etc/ssh/sshd_config);(5)安装常用工具:apt install -y curl wget git unzip mtr traceroute htop。
4
开启BBR与内核网络参数优化(关键)
步骤(1)查看内核是否支持:sysctl net.ipv4.tcp_congestion_control;(2)写入 /etc/sysctl.d/99-sysctl.conf:net.core.default_qdisc=fq; net.ipv4.tcp_congestion_control=bbr; net.ipv4.tcp_window_scaling=1; net.core.rmem_max=67108864; net.core.wmem_max=67108864; net.ipv4.tcp_rmem="4096 87380 67108864"; net.ipv4.tcp_wmem="4096 65536 67108864"; net.ipv4.tcp_mtu_probing=1;(3)执行 sysctl --system;(4)确认:sysctl net.ipv4.tcp_congestion_control 输出 bbr,或 lsmod | grep bbr。
5
Nginx作为源站安装与基本配置
步骤(1)安装:apt install -y nginx;(2)启用gzip与Brotli(若使用模块):在 nginx.conf 中开启 gzip on; gzip_types text/css application/javascript ...;安装 brotli 模块或使用CDN压缩;(3)配置HTTP/2与TLS:listen 443 ssl http2;(4)启用OCSP stapling与session cache;(5)将静态目录与缓存路径配置清晰,权限调整为www-data。
6
设置源站安全策略与CDN回源策略
步骤(1)仅允许CDN回源IP访问源站:在Nginx中使用 set_real_ip_from 与 real_ip_header 或在防火墙中放行CDN IP段;(2)在CDN控制台启用“源站校验/Token”或设置Origin Pull凭证;(3)关闭对外的目录列表、限制敏感接口对公网直接访问,所有公网流量应通过CDN优先访问。
7
缓存规则与动态/静态内容分离
实践(1)静态资源使用长缓存:Cache-Control: public, max-age=31536000;(2)对API、登录等动态接口设置 no-cache 或短TTL;(3)在CDN配置中对常见文件扩展名设置强缓存并启用压缩与图片优化;(4)配置CDN边缘缓存Key:按Host+URI+Query或去除某些参数来提高命中率。
8
SSL/TLS 与 HTTP 加速细节
配置(1)使用Let’s Encrypt或CDN托管证书,推荐在CDN处开启TLS终止并启用Origin TLS到源站;(2)开启TLS1.3、HTTP/2/3(若CDN与VPS支持);(3)启用OCSP stapling、启用HSTS(慎重设置max-age与includeSubDomains);(4)配置TLS会话复用和早期数据以减少握手延迟。
9
测试与监控(必须)
操作(1)从多个地区运行 mtr -r -c 100 your_vps_ip 与 traceroute 检测路径;(2)使用curl 测试回源头信息:curl -I -H "Host: yourdomain.com" https://
/path;(3)使用webpagetest.org、GTmetrix 或自建脚本从不同节点抓取加载时间;(4)在VPS上部署Prometheus/Grafana或使用CDN提供的分析监控边缘命中率、带宽与回源流量。
10
运维优化与高可用扩展
建议(1)配置自动化脚本或Ansible实现一键部署与配置一致性;(2)考虑双宿或多机房源站(例如新加坡与香港)结合GeoDNS或CDN origin-pull failover;(3)启用源站限流与缓存降级策略避免雪崩;(4)定期review CDN缓存命中率并调整规则。
11
常见问题排查清单
步骤(1)若延迟高:先mtr看丢包/抖动是否在链路;(2)若CDN回源慢:检查源站响应时间(TTFB)并查看Nginx日志;(3)若缓存命中低:检查Cache-Control/Set-Cookie/Query参数是否影响;(4)若中国大陆访问不稳定:确认是否需要ICP或更换有中国节点的CDN。
12
问:为什么要选择新加坡CN2而不是普通国际线路?
答:新加坡CN2提供更优的与中国运营商互联路径(尤其是电信),在亚太区域到中国大陆的抖动与丢包较少。对面向中国及东南亚用户的网站,CN2能显著降低延迟与提升稳定性,相比普通国际线路更可靠。
13
问:CDN与CN2 VPS结合时,常见的回源配置错误有哪些?
答:常见错误包括未限制直接源站访问(导致绕过CDN流量);未设置CDN IP白名单或origin token;源站返回Set-Cookie 导致边缘缓存失效;Cache-Control设置不当或未去除无关Query参数导致缓存命中率低。
14
问:如何验证我配置的全球加速是否生效?
答:使用多区域测试手段:1)从目标区域运行mtr/traceroute查看路由路径;2)用curl带Host头请求CDN edge并对比响应头(查看x-cache或CDN命中字段);3)在WebPageTest/SpeedCurve上从不同节点跑完整页面测试并对比TTFB与完全加载时间。
来源:新加坡cn2 vps结合CDN实现全球加速的最佳实践与配置技巧