首页 / 建站向导 / CDN + HTTPS 加速

CDN + HTTPS 加速

证书、回源、缓存规则一次配好:访问速度和安全性一起提,SEO 也吃这波红利。

🛡️ 场景 ⏱ 1小时 4 个步骤 难度 已完成 0 / 4 步
■ 全文速览 · 静态内容

CDN + HTTPS 加速:4 步完整做法

下面这份是静态全文(含脚本与自查清单),由 scripts/seo-prerender.js 从 data/steps.json 生成,供搜索引擎与关闭 JS 的访客阅读。上面那套是带进度保存的交互向导,内容和它完全一致。

  1. Step 1 · 上 HTTPS:证书申请与强制跳转

    免费证书 + 自动续签 + 全站跳转

    HTTPS 现在是默认项,不是加分项:浏览器标「不安全」,百度也优先收录 https 页面。

    宝塔用户(最省事):
    站点 → SSL → Let's Encrypt → 申请 → 开启「强制 HTTPS」。免费、90 天有效期、宝塔自动续签。

    纯 Nginx 用户:

    # 证书用 acme.sh 申请,配 crontab 自动续签
    curl https://get.acme.sh | sh
    acme.sh --issue -d 你的域名 -w /www/wwwroot/你的域名

    必查三项:

    • 全站资源都用 https(页面里有 http:// 的图片 / JS 会被拦,浏览器控制台会报 mixed content)
    • http 全部 301 跳到 https(不是 302)
    • 证书到期前有自动续签(写个每月检查:echo | openssl s_client -connect 域名:443 2>/dev/null | openssl x509 -noout -dates)

    申请失败的常见原因:域名没解析到本机、80 端口没放行、同一域名 24 小时内申请超过 5 次(等明天)。

    自查清单
    • https 访问无证书警告
    • http 自动 301 跳 https
    • 证书有自动续签机制
  2. Step 2 · 接 CDN:加速域名 + 回源配置

    CNAME 到 CDN,回源指向源站,先按目录缓存

    CDN 把你的静态文件缓存到全国节点,用户就近取,既快又省源站流量。

    配置四步:

    1. CDN 控制台添加加速域名(如 cdn.你的域名),业务类型选「静态加速」
    2. 回源配置:回源地址填你的源站域名或 IP,回源协议选 https(源站已上证书)
    3. 域名解析:把 cdn.你的域名 CNAME 到 CDN 给的域名
    4. 站点的静态资源路径换成 CDN 域名(改 HTML 里的 assets/ 前缀,或用 Nginx / 构建工具统一替换)

    国内注意:使用国内 CDN 节点的域名需要备案,没备案只能用境外节点(速度优势就没了)。

    回源鉴权:给源站加一层校验(如只允许 CDN 回源 IP 访问),避免别人绕过 CDN 直接打你的源站。

    验证生效:curl -I https://cdn.你的域名/assets/css/style.css,看响应头里有 X-Cache: HIT 或 CDN 厂商的命中标识,且 Age 大于 0。

    自查清单
    • curl 能看到 CDN 缓存命中标识
    • 直接访问源站 IP 被拒绝或限流
    • 页面资源全部走 CDN 域名
  3. Step 3 · 缓存规则:什么缓存、缓存多久、怎么刷新

    HTML 不缓存,静态资源长缓存 + 文件名带版本

    缓存配错比不配更糟:用户看到的是三天前的页面,你还不知道。

    推荐规则(照抄):

    | 资源 | 缓存时间 | 原因 |
    |---|---|---|
    | *.html | 0(不缓存)或 5 分钟 | 内容更新要立刻生效 |
    | /data/*.json | 1–5 分钟 | 数据文件更新要较快生效 |
    | assets/js|css | 7 天 – 1 年 | 配合文件名版本号可长期缓存 |
    | 图片 | 30 天 | 基本不变 |

    长期缓存的前提是「文件名带版本」:style.css?v=20260927 或 style.a1b2c3.css。否则你改了 CSS,用户的浏览器还在用旧的。

    刷新(改版后必做):

    • CDN 控制台「缓存刷新」→ 填 URL 或目录(支持目录刷新就刷 /assets/)
    • 刷新有配额,别每次改一个字就刷全站
    • 紧急情况下用「URL 预热」把新内容推到节点

    排错口诀:改了没生效 → ① 刷新 CDN → ② 看响应头 Age(>0 说明还是旧缓存)→ ③ 硬刷新浏览器(Ctrl+F5)。

    自查清单
    • HTML 未被 CDN 长期缓存
    • 静态资源文件名带版本号
    • 改版后执行过缓存刷新并验证生效
  4. Step 4 · 验收:速度、安全头、收录不受影响

    压测前后对比,确认爬虫还能正常抓

    速度验收(改前后对比才有意义):

    • PageSpeed Insights 跑一次,看 LCP / TTFB
    • 多地 ping 或「17ce / 站长工具」测全国访问速度
    • 目标:TTFB < 200ms(国内节点),LCP < 2.5s

    安全头(Nginx 加这几行即可):

    add_header X-Content-Type-Options nosniff;
    add_header Referrer-Policy strict-origin-when-cross-origin;
    add_header X-Frame-Options SAMEORIGIN;

    收录不能受影响(最容易翻车的地方):

    • 回源要正确:CDN 必须回源到最新内容,别把旧快照缓存几个月
    • robots.txt 与 sitemap.xml 不要缓存太久(建议 ≤1 小时),否则爬虫拿到旧的
    • 别屏蔽爬虫 UA:有些 CDN 的「安全防护」会误拦 Baiduspider,去 CDN 的 UA 白名单里放行主流爬虫
    • 用 curl -A 'Mozilla/5.0 (compatible; Baiduspider/2.0)' 模拟爬虫请求,确认返回 200 且是最新内容

    最后跑一次自检:bash scripts/seo-check.sh,确认 canonical、sitemap、HTTPS 都还在。

    成本:个人站 CDN 流量费很低(每月几元),但突发流量和盗刷才是风险——设好用量告警。

    自查清单
    • TTFB 与 LCP 相对接 CDN 前有改善
    • 模拟 Baiduspider 请求返回 200 且内容最新
    • CDN 用量告警已开启

关于CDN + HTTPS 加速,你大概还想问

CDN + HTTPS 加速一共几步?大概要多久?

共 4 步,约 1小时:1) 上 HTTPS:证书申请与强制跳转;2) 接 CDN:加速域名 + 回源配置;3) 缓存规则:什么缓存、缓存多久、怎么刷新;4) 验收:速度、安全头、收录不受影响。每步都带操作说明、可复制的一键脚本和自查清单。

CDN + HTTPS 加速第一步要做什么?

上 HTTPS:证书申请与强制跳转——免费证书 + 自动续签 + 全站跳转。这一步做完,后面的步骤才有依据。

CDN + HTTPS 加速做完后怎么判断做对了没有?

验收:速度、安全头、收录不受影响——压测前后对比,确认爬虫还能正常抓。这一步的自查清单就是验收标准,全部勾上才算真正上线。