# “请取消阻止 challenges.cloudflare.com 以继续”：原因与解决方法

> Cloudflare 页面为什么提示取消阻止 challenges.cloudflare.com？在浏览器和网络中如何解决，以及它对爬虫和自动化程序意味着什么。

- Source: https://zerocaptcha.io/zh-cn/blog/please-unblock-challenges-cloudflare-com
- Published: 2026-09-30
- Author: ZeroCaptcha Engineering

“请取消阻止 challenges.cloudflare.com 以继续”（英文原文为 “Please unblock challenges.cloudflare.com
to proceed”）表示您访问的网站受 Cloudflare 安全验证保护，而您的浏览器无法从
`challenges.cloudflare.com`（Cloudflare 提供验证的域名）加载这项验证。拦截它的通常是您这一端的东西：
广告或脚本拦截器、隐私扩展、DNS 过滤、防火墙或 VPN；也可能像 2025 年 11 月 18 日那样，是 Cloudflare
自身发生了故障。解决方法是放行 `challenges.cloudflare.com` 后刷新页面。对自动化程序而言，同样的提示
意味着验证脚本被自动化程序自己的配置拦截了。

## 这条提示从何而来

这句话出现在 Cloudflare 的全页验证页面上，也就是网站的 Cloudflare 规则在显示页面内容之前先展示的
“请稍候…”（Just a moment...）页面。该页面运行 Cloudflare 的验证平台，Cloudflare 文档称它与
Cloudflare Turnstile（部分网站嵌入在表单中的验证组件）是“同一套底层技术”，两者都从
`challenges.cloudflare.com` 加载。一旦无法访问这个域名，验证就无法运行，页面便会请您取消阻止它。

中文网络上流传的译文有“请取消阻止 challenges.cloudflare.com 以继续”和“请取消阻止
challenges.cloudflare.com 后继续”两种，均来自用户截图和博客，并非 Cloudflare 官方文档；
developers.cloudflare.com 上没有任何页面收录这句话（2026 年 9 月 30 日检索）。2025 年 11 月 18 日
Cloudflare 发生故障时，许多大型网站的验证页面同时显示了这条提示。Cloudflare 的事后分析报告指出，
故障期间 Turnstile 无法加载，故障持续时间为 UTC 11:20 至 17:06。

如今的验证页面换了一种说法。根据其当前脚本（2026 年 9 月 30 日查看），简体中文页面显示
“浏览器扩展或网络配置不兼容”，并请您“确认您的网络或防火墙设置是否阻止了设备访问
‘challenges.cloudflare.com’”。表单中的 Cloudflare Turnstile 组件遇到同样情况时报告错误代码
`200500`（“Iframe load error”，即 iframe 加载失败），官方给出的处理办法是检查
`challenges.cloudflare.com` 是否被阻止。

## 普通用户的解决方法

请按顺序尝试，每一步之后刷新页面：

1. **检查拦截类扩展。** Cloudflare 文档指出，广告拦截器和内容拦截器可能阻止验证脚本正常加载；
   脚本拦截、防指纹、Canvas 拦截等隐私扩展也可能干扰验证。请在扩展中放行
   `challenges.cloudflare.com`，或对该网站关闭扩展。
2. **启用 JavaScript 和 Cookie。** 验证需要两者；关闭 JavaScript 时，页面会提示启用 JavaScript
   和 Cookie 后继续。
3. **检查 DNS 过滤。** Pi-hole、NextDNS、AdGuard DNS 或路由器自带的过滤功能可能会为整个网络屏蔽该域名。
   请放行 `challenges.cloudflare.com` 及其子域名。Cloudflare 在 2026 年 7 月新增了
   `hagen.challenges.cloudflare.com` 和 `brunhild.challenges.cloudflare.com` 两个主机名，
   并要求一并放行。
4. **暂时关闭 VPN 或代理。** Cloudflare 将 VPN 和代理列为验证失败的原因之一。
5. **检查公司或学校的防火墙。** 按域名过滤的网络需要把 `challenges.cloudflare.com` 加入白名单，
   这只能由网络管理员修改。
6. **检查系统时间。** 设备时间不正确会导致验证失败，Cloudflare 会为此显示“设备时间不正确”。
7. **使用 Cloudflare 的检测页面。** 打开 `debug.challenges.cloudflare.com`，可以检查您的浏览器和网络
   能否运行验证。

如果以上方法都无效，而且许多网站同时出现这个问题，那么很可能是 Cloudflare 自身的故障。
在进一步修改设置之前，请先查看 [Cloudflare 状态页](https://www.cloudflarestatus.com/)。

## 网站管理员的解决方法

如果访客在您的网站上看到这条提示：

- **内容安全策略（CSP）。** 在 `script-src` 和 `frame-src` 中允许 `https://challenges.cloudflare.com`，
  或者采用 Cloudflare 推荐的基于 nonce 的方式；Turnstile 支持 `strict-dynamic`。
- **直接从 Cloudflare 加载脚本。** Cloudflare 要求必须从其文档给出的确切地址获取 `api.js`，
  代理或缓存该文件会在后续更新发布时导致 Turnstile 失效。
- **移动应用中的 WebView。** 官方列出的原因包括禁用了 JavaScript、缺少 DOM 存储或 Cookie 支持、
  无法访问 `challenges.cloudflare.com`，以及会话过程中 User-Agent 发生变化。

## 对自动化程序意味着什么

在您有权进行自动化的网站上，爬虫和测试套件也会遇到同样的失败，而原因往往出在自动化程序自身：

- **请求拦截。** Playwright 或 Puppeteer 中常见的优化做法是中止所有第三方域名的请求，或中止所有
  脚本和图片以节省流量，这也会把验证脚本一并拦截。请放行 `challenges.cloudflare.com` 及其子域名。
- **出口网络受限。** 位于 DNS 过滤、公司代理或带有域名白名单的云防火墙之后的爬虫同样无法访问
  `challenges.cloudflare.com`，需要把它加入白名单。
- **完全不执行 JavaScript。** curl、requests、Scrapy 等 HTTP 客户端从不运行验证，因此根本看不到这条
  提示：它们收到的是验证页面的 HTML，状态码为 403，并带有 `cf-mitigated: challenge` 响应头。
  放行域名并不能改变这一点；页面需要的是能通过验证的浏览器，或者由浏览器获得的 `cf_clearance` Cookie。

下面的 Playwright 示例拦截图片和字体，同时放行 Cloudflare 的验证：

```js
import { chromium } from "playwright";

const browser = await chromium.launch();
const page = await browser.newPage();
await page.route("**/*", (route) => {
  const request = route.request();
  const host = new URL(request.url()).hostname;
  const cloudflare = host === "challenges.cloudflare.com" || host.endsWith(".challenges.cloudflare.com");
  if (!cloudflare && ["image", "font", "media"].includes(request.resourceType())) return route.abort();
  return route.continue();
});
await page.goto("https://shop.example.com/");
console.log(await page.title());
await browser.close();
```

放行域名只是让验证能够运行，并不能让自动化浏览器通过验证。Cloudflare 明确说明，Selenium、Puppeteer、
Playwright、Cypress 等浏览器自动化框架不支持在生产环境中完成验证。如果验证能够运行却仍然无法通过，
您面对的就是验证本身，而不是被拦截的域名：

- 对于**表单中的 Cloudflare Turnstile 组件**，验证码识别 API 可以根据页面的 sitekey 返回令牌，参见
  [Cloudflare Turnstile 识别服务](https://zerocaptcha.io/cloudflare-turnstile-solver)（英文）。
- 对于**全页验证**（“请稍候…”），页面需要的是 `cf_clearance` Cookie。
  ZeroCaptcha 的验证页任务通过您自己的代理完成验证，并返回该 Cookie 及其绑定的 User-Agent。
  参见 [Cloudflare 验证页识别服务](https://zerocaptcha.io/cloudflare-challenge-solver) 和
  [cf_clearance Cookie 详解](https://zerocaptcha.io/guides/cf-clearance-cookie-explained)（均为英文）。

如果验证通过后页面仍然反复出现，请参阅
[Cloudflare 验证循环的原因](https://zerocaptcha.io/blog/cloudflare-challenge-loop)（英文）。请只对您有权自动化的网站进行
自动化操作，参见[负责任的验证码自动化](https://zerocaptcha.io/guides/responsible-captcha-automation)（英文）。

本文的[英文原版](https://zerocaptcha.io/blog/please-unblock-challenges-cloudflare-com)包含同样的内容。

## 参考资料

- [Cloudflare 验证：验证无法通过的问题](https://developers.cloudflare.com/cloudflare-challenges/troubleshooting/challenge-solve-issues/)
  与[支持的浏览器](https://developers.cloudflare.com/cloudflare-challenges/reference/supported-browsers/)
  （2026 年 9 月 30 日查阅）。
- [Cloudflare Turnstile：客户端错误代码](https://developers.cloudflare.com/turnstile/troubleshooting/client-side-errors/error-codes/)，
  关于 `200500`（2026 年 9 月 30 日查阅）。
- [Cloudflare Turnstile 更新日志](https://developers.cloudflare.com/turnstile/changelog/)，2026 年 7 月
  22 日条目（2026 年 9 月 30 日查阅）。
- [Cloudflare Turnstile：内容安全策略](https://developers.cloudflare.com/turnstile/reference/content-security-policy/)
  与[客户端渲染](https://developers.cloudflare.com/turnstile/get-started/client-side-rendering/)
  （2026 年 9 月 30 日查阅）。
- [Cloudflare 验证：识别验证响应](https://developers.cloudflare.com/cloudflare-challenges/challenge-types/challenge-pages/detect-response/)
  （2026 年 9 月 30 日查阅）。
- [Cloudflare 关于 2025 年 11 月 18 日故障的事后分析](https://blog.cloudflare.com/18-november-2025-outage/)
  （2026 年 9 月 30 日查阅）。
- 验证页面当前的简体中文文字于 2026 年 9 月 30 日读取自 Cloudflare 线上验证脚本。旧提示的中文译文来自
  用户截图和博客，例如[知乎的这篇文章](https://zhuanlan.zhihu.com/p/690687896)。

## Questions

### “请取消阻止 challenges.cloudflare.com 以继续”是什么意思？

网站使用了 Cloudflare 的安全验证，而您的浏览器无法从 challenges.cloudflare.com 加载这项验证。拦截它的可能是浏览器扩展、DNS 过滤、防火墙、VPN，也可能是 Cloudflare 自身出现故障。

### 如何取消阻止 challenges.cloudflare.com？

在广告拦截器、隐私扩展、DNS 过滤或防火墙中放行 challenges.cloudflare.com 及其子域名，确认已启用 JavaScript 和 Cookie，暂时关闭 VPN，然后刷新页面。

### 为什么我的爬虫或无头浏览器会遇到这个提示？

通常是因为自动化程序为节省流量拦截了第三方请求，或者运行在会过滤域名的网络中。验证脚本必须能从 challenges.cloudflare.com 加载；而不执行 JavaScript 的 HTTP 客户端根本无法通过这项验证。
