云服务器CDN加速配置:零基础实操与回源避坑指南
把云服务器接入CDN,本质是在用户和源站之间加一层缓存节点,让静态资源由离用户更近的边缘节点返回,动态请求再回源。
是否值得做,取决于你的网站静态资源占比和访客分布;
如果只是本地测试站,先用小流量验证即可。
下面按源站准备、CDN接入、缓存与HTTPS、验证排错四个阶段展开,命令和后台路径都以通用云厂商控制台为例,具体菜单名称可能略有差异。
源站准备:先让云服务器本身稳定可访问
接入CDN之前,源站必须能被公网正常访问,否则CDN回源会失败。
- 确认安全组放行Web端口。以宝塔面板为例,进入“安全”页面,放行
80和443;如果使用云厂商控制台,则在“安全组”入方向规则中放行。 - 确认Nginx或Apache正常运行。在服务器执行:
systemctl status nginx
curl -I http://127.0.0.1
返回 200 或 301/302 都算正常,如果连接被拒绝,先修复Web服务再继续。
- 绑定源站域名并记录源站IP。CDN回源时会用到这个IP,建议不要用动态IP或频繁更换的弹性IP。
- 如果源站开启了防火墙,放行回源IP段。部分云厂商会提供回源IP列表,可在CDN控制台的“回源配置”中查看。
避坑:不要为了图快直接把源站安全组改成“全部放行”,CDN接入后源站仍应只允许CDN回源IP访问,否则缓存被绕过时源站会直接暴露。
在CDN控制台添加加速域名
登录云厂商CDN控制台,点击“添加域名”或“创建加速域名”,按提示填写。
- 加速域名:填写你要对外访问的域名,例如
static.example.com。 - 业务类型:图片小文件选“静态加速”,API或动态页面选“动态加速”或“全站加速”。
- 源站类型:选“IP”或“域名”,填入上一步记录的源站地址。
- 端口:HTTP默认
80,HTTPS默认443,如果源站改了端口要如实填写。
提交后控制台会生成一个CNAME地址,形如 xxx.cdnprovider.com。
DNS解析:把域名指向CDN节点
回到域名DNS管理页,添加一条CNAME记录:
- 记录类型:
CNAME - 主机记录:
static(对应static.example.com) - 记录值:控制台给出的CNAME地址
- TTL:默认即可,测试阶段可设短一些,例如
600秒
保存后用 dig 验证:
dig static.example.com CNAME +short
返回结果应包含CDN提供的CNAME地址。
如果仍返回源站IP,说明解析没生效或本地DNS缓存未过期。
缓存规则与HTTPS配置
缓存是CDN加速效果的核心,配置不当会出现“改了文件但用户看到旧内容”或“动态请求被缓存导致登录异常”。
- 静态资源:对
.jpg、.png、.css、.js等后缀设置较长缓存时间,例如7天到30天。 - 动态接口:对
/api/路径设置“不缓存”或缓存时间为0。 - HTML页面:建议缓存时间设短,或开启“忽略参数缓存”时谨慎评估。
HTTPS方面,在CDN控制台上传证书或选择云厂商托管证书,开启“强制HTTPS跳转”。
源站如果也配了HTTPS,回源协议选“跟随”或“HTTPS”,避免证书不匹配报错。
避坑:开启缓存后,源站更新静态文件时建议通过控制台“刷新缓存”或带版本号访问,例如 app.js?,不要直接依赖CDN自动感知。
v=2
验证加速是否生效
配置完成后,用下面几个动作确认结果:
curl -I https://static.example.com/logo.png
查看响应头中是否出现CDN厂商的标识字段(不同厂商字段名不同),以及 X-Cache 或类似字段是否显示 HIT。
还可以在浏览器开发者工具的“网络”面板中查看资源响应头,确认 Age、Cache-Control 是否符合预期。
如果始终是 MISS,检查缓存规则是否匹配该文件后缀,以及源站是否返回了禁止缓存的响应头。
回源失败排查:如果用户访问返回 502 或 504,先确认源站安全组是否放行了CDN回源IP,再用 curl 从源站本机访问确认服务正常。
DNS解析刚修改时,等待TTL过期再测。
几个容易踩的坑
- 源站和CDN同时开启HTTPS但证书链不完整,会导致回源握手失败。
- 缓存规则把登录态接口也缓存了,用户会看到别人的页面。
- 只加了CNAME但没在CDN控制台完成域名归属验证,加速域名会一直处于“配置中”。
- 源站带宽很小却开了全站加速,回源量没降下来,加速感知不明显。
常见疑问
CDN接入后源站还需要保留公网IP吗?
需要,CDN回源依赖源站可达,但建议通过安全组限制只允许CDN回源IP访问。
为什么配置了缓存但命中率很低?
常见原因是文件后缀未匹配规则、源站返回了 Cache-Control: no-cache,或访问参数每次不同导致缓存键不一致。
免费CDN和付费CDN怎么选?
个人测试站可先用免费额度验证流程,正式业务再根据流量、节点覆盖和回源稳定性评估,不要只看价格。
整体来说,云服务器CDN加速配置的关键不是点几下控制台,而是把源站访问、缓存规则和回源安全三件事对齐。
先在小流量域名上跑通,再逐步扩大缓存范围,出问题时优先检查安全组、缓存规则和DNS解析这三处。