跳转到正文
Guanwx
返回

腾讯云 EdgeOne Pages 部署静态博客全流程

编辑此页

我的博客之前只部署在 GitHub Pages 上,大陆访问速度没有保障。调研后选择了腾讯云 EdgeOne Pages 作为国内侧的托管平台,本文记录完整的部署流程和踩过的坑。

为什么是 EdgeOne Pages

先说结论性的背景:

部署全流程

1. 进入控制台

注册/登录腾讯云账号(需实名认证),进入 EdgeOne Pages 控制台,免费套餐一键开通即可。

2. 导入 GitHub 仓库

创建项目 → 选择”导入 Git 仓库”→ 授权 GitHub → 选择博客的源码仓库(注意不是 GitHub Pages 的产物仓库)→ 选择监听分支(我的项目是 master)。

3. 配置构建

平台能自动识别 Astro 框架预设,核对三项即可:

配置项值
构建命令pnpm run build
输出目录dist
监听分支master

4. 选择加速区域

这是最关键的一步,区域决定了节点资源和域名合规要求:

5. 首次部署

点部署后几分钟内完成,平台分配一个形如 xxx.edgeone.cool 的默认域名。

自动化机制:一次关联,永久自动

这是这套方案最省心的部分。关联仓库时 EdgeOne 会在 GitHub 仓库上挂 webhook,之后:

  1. 每次 git push 到监听分支,EdgeOne 自动拉取代码、云端构建、发布上线
  2. 同一次 push,我现有的 GitHub Actions workflow 照常构建并发布 GitHub Pages
  3. 两边互不干扰,项目代码一行不用改,不需要额外写任何配置文件

只有仓库改名/转移、修改监听分支或构建配置、GitHub 侧撤销授权这几种情况才需要重新操作。

默认域名的两个限制

这是本次部署中踩到的最大的坑,提前知道可以少走弯路。

限制一:默认域名是”预览专用”

在控制台点开默认域名时浏览器带着身份凭证可以正常访问;但把裸链接复制到别的浏览器,会返回 401”访问受限或身份验证已过期”,URL 后面要跟一串很长的访问令牌参数才能打开。

结论:默认域名带登录鉴权,只供项目所有者预览,这是合规设计且没有开关可关。正式对外提供服务必须绑定自定义域名。

限制二:不含大陆区域时,大陆 IP 被拦截

加速区域选了”全球(不含 MLC)“后,从大陆网络访问会直接被 EdgeOne 拦截,返回 401 页面。这不是故障,是未备案域名不允许使用大陆节点的合规要求。

绑定自定义域名

解决上述限制的路径:

  1. 在 EdgeOne Pages 项目 → 域名管理 → 添加自定义域名
  2. 去域名 DNS 解析处添加一条 CNAME 记录指向平台给出的接入地址
  3. TLS 证书由平台自动签发,无需手动配置

绑定后没有登录鉴权,任何人拿到链接都能直接访问;大陆访客走境外节点,速度中等但可用。将来域名完成 ICP 备案后,把加速区域切换为含中国大陆,即可获得大陆边缘节点的加速体验。

注意事项汇总

总结

整体体验:部署一次配置,之后 push 即双端自动上线——GitHub Actions 负责境外端,EdgeOne Pages 负责国内侧,分工清晰互不干扰。唯一的门槛是”国内访问质量”与”域名备案”强绑定,这是所有国内云服务商共同的合规底线,绕不开,但也是一次性成本。


编辑此页
分享这篇文章:

上一篇
AstroPaper 博客部署
下一篇
域名购买流程与选择指南