
假设你的网站放在北京的单台轻量服务器上,日常跑起来没什么问题。直到有一天——
一篇教程突然被转发了,访问量从每天几十人涨到上千人。带宽跑满,页面加载越来越慢,最慢的时候一个页面要等十几秒。服务器的 CPU 也被拖累了,后台操作都卡顿。
怎么办呢?扩容加带宽是一种方案,但不是每个问题都值得掏钱扩容。有没有更省钱、见效更快的方式?
有。在用户和源站之间加一层缓存网络,让大部分请求在缓存层就解决掉,源站只处理少量的回源请求。这层网络就是内容分发网络 CDN。
那么 CDN 具体是怎么做到的呢?
CDN 的全称是内容分发网络(Content Delivery Network),理解起来不复杂,用腾讯云官方文档里的一个类比就能说清楚:
角色 | 类比 |
|---|---|
源站服务器 | 商家 |
网站用户 | 买家 |
CDN 节点 | 分布在全国各地的仓库 |
以前商家直接给全国买家发货,距离远就慢。大促期间订单暴增,打包发货也跟不上。
后来商家在全国各地建了仓库,把热门商品提前铺进去。买家下单,就近仓库发货——速度快了,商家总部也不用亲自处理每一单。
CDN 就是这套仓库体系。你的图片、CSS、JS 这些静态文件被提前缓存到全国各地节点上,用户访问时直接从最近的节点取数据,不用每次绕回源站。
技术上的流程是这样的(假设你的网站域名是www.your-site.com):
www.your-site.com 下的某个图片(比如 banner.jpg)相当于在用户和源站之间加了一层代理,大部分请求在代理层就解决了,源站压力骤降。
原理说完了,下面直接操作。
第一步:进入 CDN 管理界面

登录腾讯云控制台,进入内容分发网络 CDN 管理界面。
第二步:添加域名

点击「域名管理」→「添加域名」。
第三步:域名配置

填写需要加速的域名,不要加 http:// 或 https:// 协议头。比如加速网站的域名为 www.your-site.com,直接填域名本身即可(这里是举例说明,正确的要换成你自己的域名。)。
第四步:源站配置

如果你的网站图片、附件放在 COS 上,源站直接选 COS。关于怎么用 COS 放静态文件,参考之前的 COS 教程。
第五步:推荐配置 - 提升资源命中率

这里设置缓存文件的类型和过期时间。默认配置一般够用,也可以根据情况调整。缓存规则的详细配置见下一节。
第六步:推荐配置 - 提升访问性能

主要是文件压缩处理,通常保持默认即可。
第七步:推荐配置 - 防止费用超额

设置用量封顶,当带宽/流量超过阈值时自动关闭 CDN 或回源。配置生效有约 10 分钟延迟,期间产生的用量仍会计费。建议开启并按需求进行配置,默认配置可能无法满足全部需求。
第八步:推荐配置 - 提升访问安全

配置 HTTPS 服务和 SSL 证书,以及 IP 访问限频。HTTPS 的详细配置见后面第四节。
第九步:配置 CNAME
提交后系统会生成一个 CNAME 值。去域名 DNS 控制台,把加速域名的解析记录改为 CNAME 类型,指向这个值。
保存后等几分钟,DNS 生效即完成。这是CDN 接入的最后一步,在全部配置完成之后,在 CDN 控制台中刷新。如果显示成功的话,就表示已经接入成功了。

配置完成并等待几分钟后,可以在浏览器访问你的加速域名,通过开发者工具的 Network 面板查看响应头,如果能正常返回内容且请求经过了 CDN 节点,说明加速已生效。也可以在 CDN 控制台的统计分析中查看流量数据来确认。
缓存策略是 CDN 配置中最关键的一环。配好了用户访问飞快,配不好内容更新不及时。

进入域名管理 → 缓存配置选项卡 → 节点缓存过期配置,按文件类型分别设置:
文件类型 | 建议缓存时间 | 原因 |
|---|---|---|
图片(jpg/png/gif/webp) | 30 天 | 变动少,长缓存最有效 |
CSS/JS | 30 天 | 改了手动刷新缓存即可 |
字体文件 | 30 天 | 基本不改 |
HTML 页面 | 不缓存(0 秒) | 确保用户看到最新页面 |
动态页面(php/jsp/asp/aspx) | 不缓存(0 秒) | 动态内容不应缓存 |
缓存在这里指的是 CDN 节点上的存放时长。比如图片设 30 天,意味着节点拿到一张图后会留 30 天再去源站更新。30 天内所有用户请求都命中缓存,不回源。
以上缓存时间为个人推荐,具体可根据实际业务情况灵活调整。
在 CDN 控制台 → 统计分析 → 数据分析,可以看到实时的缓存命中率。
缓存命中率主要影响用户体验:命中率越高,用户访问越快,回源请求越少,源站压力也越小。
改了 CSS 或换了图片,CDN 节点上还是旧的?有两种办法:
方法一:控制台刷新(推荐)
控制台路径:刷新预热 → 提交 URL → 等待几分钟即可生效。
方法二:版本号参数
在文件名后面加版本号,比如 app.css?v=20260101。改了 CSS 后把版本号改成 app.css?v=20260201,CDN 会当新文件重新回源。
但注意:这个方法在开启了「忽略 URL 参数」后会失效(?v=1 和 ?v=2 被视为同一个文件)。如果你倾向于用版本号管理,就不要开启忽略参数;反之用控制台刷新即可。两种方式选一种就够了。
证书不是在 CDN 控制台申请,而是通过腾讯云 SSL 证书 服务单独申请。免费证书支持单域名,付费证书可选 DigiCert、GeoTrust 等品牌。
如果你已经在腾讯云申请过证书,配置 CDN 时在「腾讯云托管证书」里能直接选择。
域名管理 → 点击域名 → HTTPS 配置选项卡

找到HTTPS配置,在弹出的界面中有两种选择:

选择证书后,建议同时开启「HTTP 强制跳转 HTTPS」。
HTTPS 是 CDN 的增值服务,单独按请求次数计费。每个账号每月有 300 万次免费额度,个人博客和小型网站通常都能覆盖在免费额度内。超出后 0.05 元/万次。具体价格以官方实时为准,详见增值服务计费文档。
配置后 CDN 节点会自动处理 HTTPS 请求,源站甚至可以不用配 SSL。但为了安全,建议两端都配置。
HTTPS 证书是绑定域名的。如果加速域名变了(比如从 cdn.xxx.com 改成 static.xxx.com),需要重新申请对应证书。
CDN 控制台 → 域名管理 → 点击域名 → 访问控制选项卡,有以下几个常用功能:
自动识别并拦截疑似盗刷流量的高危 IP。仅限中国大陆加速域名使用。
详见:流量防盗刷配置文档 https://cloud.tencent.com/document/product/228/111887
通过 HTTP Referer 过滤请求来源,设置白名单后只有你自己的域名能引用 CDN 资源。
详见:防盗链配置文档 https://cloud.tencent.com/document/product/228/41454
通过 IP 地址设置访问控制:白名单只允许指定 IP,黑名单封禁特定 IP。
详见:IP 黑白名单配置文档 https://cloud.tencent.com/document/product/228/41431
限制单 IP 单节点的每秒请求数(QPS),可防御部分 CC 攻击。
详见:IP 访问限频配置文档 https://cloud.tencent.com/document/product/228/41432
访问控制选项卡还提供 UA 黑白名单、下行限速、鉴权配置、区域访问控制、访问端口配置等功能,如有需要可查阅 CDN 访问控制文档 https://cloud.tencent.com/document/product/228。
以上功能按需开启,不必全部设置。防盗链和流量防盗刷是性价比最高的两项,建议优先配置。
CDN 的计费基本上可以分为两种:
套餐包的具体规格和价格以官方购买页面实时显示为准。
Q: 配置 CDN 后网站打不开了?
按顺序排查:
nslookup 你的域名 看返回的 CNAME)Q: CDN 缓存了旧内容,更新了还是旧的?
两种办法:
app.css?v=2.0),CDN 会当新文件处理。详细说明见第三节。
Q: 带宽会不会被恶意刷爆?
做好防护:开启流量防盗刷 + 防盗链 Referer 白名单 + IP 访问限频。另外在第二步的推荐配置中设置用量封顶,超限自动处理。
Q: 用 CDN 后源站还需要保留文件吗?
需要。CDN 只是缓存副本,源站是最终来源。节点上没有缓存时,会回源站取。
Q: 加速区域选「中国境内」还是「全球」?
主要看你的用户在哪。境内用户选「中国境内」即可,境外用户选「中国境外」或「全球」。
CDN 的作用简单说就是:让用户访问更快,让源站压力更小。
配置不复杂——域名接入 → CNAME 解析 → 缓存策略 → 开启就行。再配上防盗链和套餐包,一个完整的内容分发体系就搭好了。
以上内容参考腾讯云官方文档整理,仅作教程用途。具体配置和价格以 内容分发网络 CDN https://cloud.tencent.com/product/cdn 官方页面为准。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。