本文记录在 Ubuntu 服务器上从零搭建 Cloudflare CDN 的完整流程:先用 Nginx 托管静态资源作为源站,再把域名接入 Cloudflare。如果源站没有配置 SSL 证书,可以借助 Cloudflare 的灵活(Flexible)模式让 HTTPS 直接生效,省去自行管理证书的麻烦。
1. 服务器安装 Nginx#
在 Ubuntu 终端依次执行以下命令,安装并启动 Nginx:
sudo apt update
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx2. 配置 Nginx#
新增一个域名指向的配置文件,在 /etc/nginx/sites-enabled 目录下创建 cdn.xxx.com:
sudo nano /etc/nginx/sites-enabled/cdn.xxx.com写入如下基础配置:
server {
listen 80;
server_name cdn.xxx.com [你的本机ip]; # 你的资源域名
root /var/www/[具体路径]; # 资源存放的目录
index index.html;
location / {
try_files $uri $uri/ =404;
# 允许跨域(如果你的静态资源需要被其他网站调用,这很重要)
add_header Access-Control-Allow-Origin *;
}
}检查配置语法并重载,使其生效:
sudo nginx -t # 检查配置语法
sudo systemctl reload nginx # 平滑重载,不会中断现有连接
服务器的 IP 必须是公网 IP,否则 Cloudflare 将无法回源连接到你的服务器获取资源。
3. 配置 Cloudflare#
3.1 添加域名指向#

需要填写服务器的 IP 地址,并保证代理状态为已代理(DNS 记录旁的云朵图标显示为橙色)。
4. 调整 SSL/TLS 模式#
如果你的 Nginx 没有配置 SSL 证书,则需要调整 Cloudflare 的 SSL/TLS 模式。进入 SSL/TLS → 概述,点击配置并选择**灵活(Flexible)**模式,这样 Cloudflare 就能正常回源获取资源了。
灵活模式(Flexible)#

灵活模式下,浏览器与 Cloudflare 之间走 HTTPS(由 Cloudflare 提供证书),而 Cloudflare 与源站之间仍走 HTTP,因此源站无需自行申请 SSL 证书即可对外提供 HTTPS 服务。
总结#
搭建整套 CDN 加速服务的步骤可以归纳为:
- 服务器安装 Nginx,配置一个静态资源站点;
- 在 Cloudflare 添加域名,确保代理状态为「已代理」;
- 若源站无 SSL,将 SSL/TLS 模式设为「灵活」即可直接启用 HTTPS。
关键在于理解 Cloudflare 的代理与 SSL 模式——灵活模式下 Cloudflare 充当 HTTPS 网关,源站保持 HTTP 即可对外提供安全访问。
