66ccff.link:域名挂到 Cloudflare Pages 并上线博客
日期:2026-10-12。下面按操作顺序记可复用主路径。
1. Cloudflare 账号与站点
- 使用已有 Cloudflare 免费账号登录 Dashboard(邮箱登录即可;本站后续 API/连接器用同一账号授权)。
- Add a site → 输入
66ccff.link→ 选 Free。 - 把注册商处的 NS 改成 Cloudflare 给出的两台权威 NS,等到区状态 Active。
- 对外入口以 www 为主:
www.66ccff.link服务站点;apex(裸域)用跳转或 CNAME 落到同一套内容,避免两套源。 - 博客配置里的规范地址写成 www(仓库
astro-paper.config.ts/site.url):
url: "https://www.66ccff.link/"
canonical、OG、RSS、sitemap 都跟 www,减少多余 301。
2. 连接 GitHub 与创建 Pages 项目
- GitHub 上准备好博客仓库(Astro + AstroPaper;本站私有仓亦可)。
- Cloudflare Dashboard → Workers & Pages → Create → Pages → Connect to Git。
- 授权 Cloudflare 访问该 GitHub 账号/仓库(OAuth,按提示勾选仓库范围)。
- 选中博客仓库,生产分支:
main(push 到main即触发部署)。 - 构建设置(框架选 Astro 或按检测结果核对):
- Framework preset:Astro
- Build command:
pnpm build(或项目文档写明的等价命令) - Build output directory:
dist - Root directory:仓库根(无 monorepo 子目录则留空)
- 环境变量:本站未依赖额外密钥即可构建;站点 URL 以仓库内
site.url为准,不必在 Pages 再写一套冲突变量。Node 版本按 Astro 要求使用 22.x(Pages 项目设置里可固定NODE_VERSION=22)。 - Save and Deploy,等第一次构建成功,得到
*.pages.dev预览域。
3. 自定义域名与 HTTPS
- 打开该 Pages 项目 → Custom domains → Set up a custom domain。
- 添加
www.66ccff.link。 - Cloudflare 在 DNS 区写入指向 Pages 的记录(常见为代理状态的 CNAME →
*.pages.dev;按控制台当时提示确认即可)。 - SSL/TLS:自定义域由 Cloudflare 自动签发与续期(访客侧 HTTPS);区建议 Full (strict) 一类策略与 Pages 托管一致即可。
- apex 若需要:可加 apex → www 的跳转规则,或按控制台指引把裸域也接到同一 Pages 项目。
- 浏览器访问
https://www.66ccff.link,确认证书有效且内容为当前部署。
4. R2 图床(大图)
-
Dashboard → R2 → 若首次使用,按提示开通免费额度订阅(按控制台当前流程)。
-
Create bucket,名称例如
66ccff-img。 -
桶设置里 Custom Domains → 连接
img.66ccff.link(须与桶同属一个账号下的66ccff.link区)。 -
等待自定义域 SSL / ownership Active;DNS 会出现指向 R2 公共接入的 CNAME(由连接向导写入)。
-
上传对象(控制台上传或 API),用完整地址引用,例如:
https://img.66ccff.link/brand/tianyi-hero.jpg -
CORS:纯
<img>/ OG 引用一般可不配;若以后有浏览器直传或跨域 fetch,再在桶 CORS 里按来源补规则。本站当前以页面引用静态对象为主。
5. 静态资源分工(仓库内配置)
| 类型 | 放哪 | 访问 |
|---|---|---|
| 头图、OG 等大图 | R2 66ccff-img | https://img.66ccff.link/... |
| favicon、头像等壳子小图 | 仓库 public/ | 同域 /favicon.png、/avatar.webp 等 |
大图走 img 子域,改图不必整站重建;小图标跟 Pages 一起发,同站加载更稳。site.url 等站点元数据改在仓库配置文件,随构建进站,而不是靠临时手改线上 HTML。
6. 发文与发布循环
文章在 src/content/posts/*.md。最小 frontmatter:
---
author: 66ccff
pubDatetime: 2026-10-12T02:17:00+08:00
title: 标题
description: 一两句摘要
draft: false
tags:
- dns
---
- 时间用
+08:00,避免未来 UTCZ被生产端定时过滤藏文。 draft: false才进正式站。
发布:
git add .
git commit -m "简述变更"
git push origin main
Pages 已通过 GitHub 集成监听 main:clone → build → deploy。在项目 Deployments 里看最新一次是否 Success,然后刷新 https://www.66ccff.link。
7. 缓存相关
- Pages 静态资源:构建产物带长缓存友好的哈希文件名(
/_astro/*);HTML 入口缓存较短,一般 push 新部署后不久即可见。 - 整站 HTML / 自定义域:若改了首页或文章但仍看到旧版,可在 Cloudflare 对该主机名做一次 Cache Purge(按 URL 或主机),或对浏览器强刷。
- R2 自定义域:对象更新后若 CDN 仍吐旧图,可对
https://img.66ccff.link/...单独 purge,或换新对象键避免覆盖同名缓存。 - favicon / 根路径小文件:易被浏览器与边缘长缓存;替换后若图标不变,purge
/favicon.ico、/favicon.png等并强刷。
日常多数情况:等新部署变绿即可,不必每次手动清缓存。
小结
- CF 登录并托管
66ccff.link,www 为主,site.url写https://www.66ccff.link/。 - GitHub OAuth 接入 Pages,Astro /
pnpm build/dist,分支main自动部署。 - Custom domain 绑
www,DNS + 自动 HTTPS。 - R2 桶
66ccff-img+img.66ccff.link放大图;public/放 favicon/头像。 - 发文:
pubDatetime(+08:00)+draft: false→git push origin main。 - 缓存:优先等新部署;个别入口或图床 URL 再按需 purge。