Cloudflare 中文文档
Pages
编辑这个页面
跳转官方原文档
Set theme to dark (⇧+D)

调试页面

在设置 Pages 项目时,你可能会遇到各种错误,导致无法成功部署网站。本指南概述了一些常见错误和解决方案。

​​ 检查构建日志

你可以在页面构建日志中查看构建错误。要访问构建日志,请

  1. 登录 Cloudflare 仪表板
  2. 账户主页,转到工作者和页面
  3. 概览中,选择 Pages项目 > 查看构建

登录 Cloudflare 控制面板后,按照上述说明访问构建日志

构建日志中可能出现的错误包含在以下章节中。

​​ 初始化构建环境

此步骤中可能出现的错误可能是在 Git 集成过程中安装不当造成的。

在 GitHub 中修复此问题:

  1. 登录 GitHub 账户。
  2. 从用户图标进入设置> 在集成下找到应用程序
  3. 找到 Cloudflare Pages> Configure> 向下滚动并选择 Uninstall
  4. 在 Cloudflare 控制面板上重新授权你的 GitHub 用户/组织。

要在 GitLab 中解决这个问题

  1. 登录 GitLab 账户。
  2. 从用户图标 > **应用程序 > 首选项
  3. 找到 Cloudflare页面 > 向下滚动并选择 撤销

请注意,要成功链接你的版本库,你需要一个 Maintainer或以上的角色,否则构建将失败。

​​ 克隆 git 仓库

此步骤中可能出现的错误可能是由于 Git 大文件存储空间(LFS)不足造成的。请参考 GitHub GitLab 文档,检查 LFS 的使用情况。

请务必查看根目录下的 .gitmodules 文件,检查子模块配置。该文件需要包含 pathurl 属性。

有效配置示例

无效配置示例:

​​ Building application

此步骤中可能出现的错误可能是由于 Pages 项目中的错误设置造成的。请检查你的构建命令、输出文件夹和环境变量中是否有任何不正确的配置。

​​ 部署到 Cloudflare 的全球网络

此步骤中可能出现的错误可能是由于页面功能配置不正确造成的。有关功能设置的更多信息,请参阅 功能 文档。

如果你没有使用 Functions 或已检查过你的 Functions 配置不包含任何错误,请查看 Cloudflare 状态网站 以了解可能导致构建失败的 Cloudflare 网络问题。

​​ pages.dev 与自定义域的区别

如果你的自定义域名通过 Cloudflare 进行代理(橙色云),你的区域设置(如缓存)将适用。

如果你仅在自定义域上遇到框架(如 Nuxt.js)问题,请检查是否启用了 HTML 的自动最小化(已废弃)(登录 Cloudflare 面板 > Speed> Optimization> Content Optimization> Auto Minify)并禁用它。

如果你遇到新内容无法显示的问题,请转到 Cloudflare 面板中的 Rules> Page Rules,检查是否有启用了 Cache Everything的页面规则。如果存在,请删除此规则,因为页面会处理自己的缓存。

如果你在自定义域上遇到错误,但在 pages.dev 域上没有,请转到 Cloudflare 面板中的 DNS> Records,将项目的 DNS 记录设置为 DNS Only(灰色云)。如果错误仍然存在,请检查你的区域配置。

​​ 域名卡在验证中

如果你的 自定义域 没有从 Cloudflare 面板中的 Verifying阶段移动,请参阅以下调试步骤。

​​ 阻止 HTTP 验证

页面使用 HTTP 验证,在验证过程中需要访问 HTTP 接口。如果有其他 Cloudflare 产品拦截(如 Accessa redirecta Worker 等),则无法完成验证。

要检查这一点,请在你的域中运行 curl 命令,点击 /.owned/acme-challenge/randomstring。例如

在上面的示例中,你正在重定向到 Cloudflare Access(如 Location 标头所示)。在这种情况下,你需要禁用域上的 Access,直到域通过验证。域通过验证后,可以重新启用 Access。

你也需要为重定向规则或 Worker 示例做同样的事情。

​​ 缺少 CAA 记录

如果没有任何东西阻止 HTTP 验证,那么可能是缺少认证机构授权(CAA)记录。如果你禁用了 Universal SSL或使用外部提供商,就有可能出现这种情况。

要检查这一点,请在domain’s apex (or zone,如果这是一个 子域区域)上运行 dig。例如

在上述示例中,只有一条 CAA 记录允许亚马逊签发证书。

要解决这个问题,你需要添加以下 CAA 记录,这些记录允许 Cloudflare 使用的所有证书颁发机构 (CA) 颁发证书:

​​ Zone holds

zone hold 将阻止页面为区域搁置下的主机名添加自定义域名。

要为有区域保留的主机名添加自定义域,请在自定义域设置过程中暂时 释放区域保留

自定义域成功完成后,你可以 恢复区域保留

​​ 资源

如果你需要有关构建错误的其他指导,请联系你的 Cloudflare 账户团队(企业),或参考 支持中心 以获得联系 Cloudflare 支持的指导。

你也可以在 Cloudflare Developers Discord 的页面部分提问。