VPSKnow

CDN 加速配置指南

中级
25分钟

将静态资源托管至全球 CDN 节点,利用智能缓存策略和回源配置,极大提升用户访问网站的速度和可用性。本指南将以全球最流行的 Cloudflare 为例进行实战教学。

🌐 CDN 是什么 (CDN 原理)

CDN (Content Delivery Network),即内容分发网络。它是一个由分布在全球各地的服务器组成的网络,旨在更快、更可靠地将网站内容(如图片、CSS、JavaScript 文件)传送给用户。

工作原理

当未使用 CDN 时,所有用户都直接访问您位于单一地点的源站服务器。这会导致地理位置远的用户访问速度慢。

使用 CDN 后,CDN 会将您网站的静态内容缓存到其遍布全球的“边缘节点”(Edge Node)。当用户请求访问您的网站时:

  1. 用户的请求会被智能 DNS 解析到离他最近的 CDN 边缘节点。
  2. 如果该节点有缓存的内容,则直接返回给用户,实现秒开。
  3. 如果节点没有缓存(首次访问),它会向您的源站服务器请求内容,获取后再返回给用户,并同时在节点上缓存一份以备后续使用。

为何使用 CDN

为网站接入 CDN 能带来多方面的好处,是现代网站架构的标配。

🌍

全球加速

用户从最近的节点加载资源,极大降低延迟,提升访问速度。

🔋

高可用性

当源站服务器宕机时,CDN 缓存的资源仍可访问,提升网站在线率。

💰

节省成本

CDN 处理大部分请求,大幅减少源站服务器的带宽消耗和负载压力。

🛡️

安全防护

提供 DDoS 攻击缓解、WAF 等安全功能,保护源站服务器安全。

🏢 CDN 服务商选择

市面上有许多优秀的 CDN 服务商,选择哪家取决于您的预算、目标用户群体和功能需求。

⭐ 免费首选

Cloudflare

全球最大的 CDN 服务商之一,提供强大的免费套餐,包含不限流量的 CDN、免费 SSL 证书和顶级的 DNS 服务,是个人和小企业的首选。

国内厂商

如阿里云 CDN、腾讯云 CDN、又拍云等。如果您的主要用户在中国大陆,使用备案域名接入这些服务商能获得最佳的境内访问速度。

其他国际厂商

如 Bunny CDN, KeyCDN, Amazon CloudFront。这些通常是按量付费,提供更精细化的配置选项,适合有特定需求的用户。

🚀 Cloudflare 接入实战

下面我们将一步步演示如何将您的网站接入 Cloudflare 的免费 CDN 服务。

1

注册并添加站点

访问 Cloudflare 官网 注册账号,然后点击“添加站点”,输入您的域名。

2

选择套餐

选择底部的 Free (免费) 套餐,然后点击继续。

3

检查 DNS 记录

Cloudflare 会自动扫描您现有的 DNS 记录。请确保指向您 VPS IP 地址的 `A` 记录(通常是根域名和 `www`)的“代理状态”已开启(橙色云朵 [Image of cloud icon] )。

4

修改域名服务器 (NS)

这是最关键的一步。Cloudflare 会提供两个新的 NS 地址。您需要登录您的域名注册商(如 GoDaddy, Namecheap),将您域名的默认 NS 服务器修改为 Cloudflare 提供的这两个地址。

提示: NS 记录在全球生效需要几分钟到几小时不等,请耐心等待。生效后,您会收到 Cloudflare 的确认邮件。

📦 核心:缓存策略 (Caching Strategy)

合理的缓存策略是发挥 CDN 威力的关键。目标是:让 CDN 尽可能多地缓存静态资源,同时确保动态内容能及时更新。

缓存级别 (Caching Level)

Location: Caching -> Configuration

  • Standard: 默认选项。当资源带有 `Cache-Control` 等 HTTP 头时才缓存。
  • No Query String: 忽略 URL 中的查询参数进行缓存,提升命中率。
  • Ignore Query String: 缓存所有静态内容,即使没有缓存头。

浏览器缓存 TTL (Browser Cache TTL)

决定了资源在用户浏览器中缓存多长时间。设置较长时间(如 4 小时或更长)可以减少重复加载。

缓存规则 (Cache Rules)

Cloudflare 强大的新功能,可以基于 URL 路径、主机名、MIME 类型等精细化地控制哪些内容被缓存、缓存多久。

示例: 创建一条规则,将 /static/* 目录下的所有资源在 CDN 边缘节点上强制缓存 1 天。

🏠 核心:回源配置 (Origin Configuration)

回源配置定义了 CDN 如何与您的源站服务器通信,错误的配置可能导致网站无法访问。

SSL/TLS 加密模式

位于 "SSL/TLS" -> "Overview" 页面,这是最重要也最容易出错的配置。

模式 安全性 描述与适用场景
Off 不安全 不使用 SSL 加密。 不推荐使用。
Flexible 用户到 Cloudflare 加密,Cloudflare 到源站不加密。 仅当源站不支持 SSL 时使用,存在安全风险。
Full 全程加密,但 Cloudflare 不验证源站 SSL 证书的有效性。 源站有自签名证书时使用。
Full (Strict) 高 (推荐) 全程加密,且 Cloudflare 会严格验证源站 SSL 证书的有效性。 源站已部署有效 SSL 证书(如 Let's Encrypt)。

始终在线 (Always Online)

在 "Caching" -> "Configuration" 中开启。当您的源站意外宕机时,Cloudflare 会尽可能地从缓存中为用户提供网站的静态副本,提升可用性。

🛡️ 性能与安全

Cloudflare 免费提供了大量能一键开启的性能与安全增强功能。

自动压缩 (Auto Minify)

位于 "Speed" -> "Optimization"。勾选 `JavaScript`, `CSS`, `HTML` 可以自动移除代码中不必要的字符,减小文件体积。

Brotli 压缩

位于 "Speed" -> "Optimization"。开启 Brotli 可以提供比 Gzip 更高的压缩率,进一步加快加载速度。

DDoS 防护

默认开启。Cloudflare 的网络能自动检测并缓解大规模的 DDoS 攻击,保护您的源站。

防火墙规则 (WAF)

位于 "Security" -> "WAF"。免费版提供 5 条自定义防火墙规则,您可以用来屏蔽恶意 IP、特定国家或不良爬虫。

📈 性能监控

Cloudflare 强大的分析后台可以帮助您了解网站的流量、缓存和安全状况。

在 Cloudflare 仪表盘的 "Analytics & Logs" 页面,您可以查看:

  • 流量分析: 总请求数、独立访客数、流量来源国家等。
  • 性能分析: 缓存命中率 (Cache Hit Ratio) 是关键指标,命中率越高,说明 CDN 效果越好。
  • 安全分析: 被阻止的威胁数量、DDoS 攻击详情等。

🔧 故障排查

接入 CDN 后遇到问题?这里是一些常见的 Cloudflare 错误及其排查方向。

❌ 错误 521: Web server is down

含义: Cloudflare 无法连接到您的源站服务器。

排查: 1. 检查您的 VPS 服务器是否在线。 2. 检查服务器防火墙(如 ufw)是否屏蔽了 Cloudflare 的 IP 地址。

❌ 错误 525/526: SSL Handshake Failed

含义: 源站的 SSL 证书有问题。

排查: 1. 确保您的源站已经安装了有效的 SSL 证书。 2. 检查 Cloudflare 的 SSL/TLS 加密模式是否设置为“Full (Strict)”,并且源站证书有效。

❌ 错误 524: A timeout occurred

含义: Cloudflare 连接到源站后,源站处理请求时间过长(超过 100 秒)未响应。

排查: 检查您的网站程序或数据库是否存在性能瓶颈,导致页面生成缓慢。

⚠️ 网站出现“重定向次数过多”

含义: 发生了重定向循环。

排查: 通常是因为 SSL/TLS 加密模式设置为“Flexible”,而您的源站又强制将 HTTP 重定向到 HTTPS。请将模式更改为“Full”或“Full (Strict)”。

🎯 下一步行动

想让全球访问如丝般顺滑?

如果 CDN 加速后依然卡顿,可能是服务器底子太差。不妨看看我们精选的 CN2 GIA 线路 VPS。