宝塔面板 CDN 怎么配合

域名注册
域名注册 正式会员超兽战士 👑年卡会员
发布于 2026-10-08 10:40 ·2 浏览 ·0 回复

学完这篇,你能把跑在宝塔面板上的网站正确接到 CDN 后面:静态资源走边缘节点、源站 IP 不暴露、回源日志里还能看到访客真实 IP。

第一步:给源站准备一个专用回源域名并装好证书

这一步的目标是让 CDN 回源时不直接撞主域名的解析记录,同时源站已经有 HTTPS,避免后面出现"CDN 走 HTTPS、源站只有 HTTP"的报错。

登录宝塔面板(以 Linux 版 9.x 为例),点左侧「网站」→「添加站点」,域名填一个只用于回源的域名,比如 origin.example.com,根目录保持默认,PHP 版本按你程序的实际情况选。

建好后点该站点右侧「设置」→「SSL」→「Let's Encrypt」→ 勾选域名 →「文件验证」→「申请」。证书签发成功后,把「强制 HTTPS」也打开。

注意:origin.example.com 不要对外做公开解析,只在 CDN 后台填成回源地址即可。否则别人拿到这个域名就能绕过 CDN 直接打你的源站。

再点左侧「安全」→「防火墙」,确认 80、443 已放行;云服务器(阿里云/腾讯云)的安全组里同样要放行这两个端口,两处都要开。

第二步:在 CDN 后台添加域名,指向源站

这一步做完,访客访问的就是 CDN 节点,不再直连你的服务器。

以 Cloudflare 为例:进入你的域名 →「DNS」→「记录」→ 添加两条 A 记录,名称分别填 @ 和 www,内容填你服务器的公网 IP,代理状态点成橙色云(Proxied)。

然后到「SSL/TLS」→「概述」→ 加密模式选「完全(严格) Full (strict)」。

再用阿里云 CDN 的思路对照一下:「域名管理」→「添加域名」,加速域名填 www.example.com,源站信息选「源站域名」,填 origin.example.com,端口 443,回源 Host 也填 origin.example.com。添加完成后按提示到 DNS 服务商处把 CNAME 加上。

第三步:给源站装一张长期回源证书

Cloudflare 免费证书只有 3 个月,频繁续期很烦。在 Cloudflare 里点「SSL/TLS」→「源服务器」→「创建证书」,有效期选 15 年,生成后复制证书内容和私钥。

回到宝塔,「网站」→ origin.example.com →「设置」→「SSL」→「其他证书」,把证书和私钥分别粘贴进去,「保存」并开启「强制 HTTPS」。

注意:如果 Cloudflare 加密模式选了「灵活 Flexible」,而宝塔又开了强制 HTTPS,会陷入无限重定向。两边必须统一用「完全(严格)」。

第四步:让源站日志显示真实访客 IP

不配这一步,Nginx 日志里全是 CDN 节点的 IP,封 IP、统计访客都会出错。

宝塔:「网站」→ 站点 →「设置」→「配置文件」,在 server {} 块里加两行(IPv6 也要的话再加 set_real_ip_from 的 v6 段):

set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
real_ip_header CF-Connecting-IP;

完整 IP 段去 Cloudflare 官网搜 "IP ranges" 拿 ips-v4 列表。保存后重启 Nginx。宝塔自带的 Nginx 已编译 http_realip_module,不用额外装。

第五步:设缓存规则,别把后台缓存了

这一步决定 CDN 是加速还是添乱。

在 Cloudflare「规则」→「页面规则」里加一条:URL 匹配 example.com/wp-admin/*(换成你的后台路径),设置选「缓存级别:绕过」。静态资源如 *.css、*.jpg 可以另建规则设成「缓存级别:标准」,边缘缓存 TTL 设 1 个月。

注意:千万不要给整站 HTML 设长缓存。WordPress、Typecho 这类程序后台发完文章前台不更新,八成就是 HTML 被缓存了,去 CDN 后台清缓存才能看到。

第六步:验证

浏览器按 F12 → Network,刷新页面,看静态资源的响应头里有没有 cf-cache-status: HIT(阿里云是 X-Cache: HIT)。再去宝塔「网站」→「日志」看访问日志,如果打头的是访客真实 IP 而不是 CDN 节点 IP,说明第四步生效了。

如果出现 502/521 报错,先检查源站 443 端口是否放行、回源证书是否装对、回源 Host 是否填成了 origin.example.com。

小结

  1. 源站单独用一个回源域名 + 自己的 SSL 证书,主域名解析只给 CDN。
  2. CDN 加密模式与源站强制 HTTPS 必须匹配,推荐「完全(严格)」。
  3. 用 real_ip_header 找回真实访客 IP,否则日志全废。
  4. HTML 不缓存、后台路径绕过缓存,静态资源才设长缓存。
  5. 放行端口要查两处:宝塔防火墙和云服务器安全组。
版权声明:本文来自 GJ站长论坛《宝塔面板 CDN 怎么配合》
原文链接:https://www.gj0.com/thread-905.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~