Cloudflare Access 故障排除指南
版本: 2026.1
最后更新: 2026-04-04
适用范围: Zero Trust Access 常见问题
📋 问题分类索引
| 问题类型 | 章节 | 常见程度 |
|---|---|---|
| 验证码邮件收不到 | [问题 1](#问题 1-验证码邮件收不到) | ⭐⭐⭐⭐⭐ |
| 策略未生效 | [问题 2](#问题 2-访问策略未生效) | ⭐⭐⭐⭐ |
| 域名配置问题 | [问题 3](#问题 3-域名配置问题) | ⭐⭐⭐ |
| 缓存问题 | [问题 4](#问题 4-缓存与 CDN 问题) | ⭐⭐⭐ |
| 403 Forbidden | [问题 5](#问题 5-403-forbidden-错误) | ⭐⭐⭐⭐ |
| 登录循环 | [问题 6](#问题 6-登录循环问题) | ⭐⭐ |
问题 1: 验证码邮件收不到
🔍 症状描述
- 输入邮箱后点击 "Send code"
- 页面显示验证码已发送
- 邮箱收件箱长时间未收到邮件
- 检查垃圾邮件文件夹也没有
📊 排查流程
开始
│
▼
┌─────────────────────────────┐
│ 1. 检查邮箱是否正确输入 │
│ - 确认无拼写错误 │
│ - 确认域名正确 │
└─────────────┬───────────────┘
│
▼
┌─────────────────────────────┐
│ 2. 检查垃圾邮件/推广文件夹 │
│ - Gmail: 垃圾邮件、推广 │
│ - Outlook: 垃圾邮件 │
│ - QQ: 垃圾邮件文件夹 │
└─────────────┬───────────────┘
│
▼
┌─────────────────────────────┐
│ 3. 检查邮箱服务商限制 │
│ - 是否被标记为垃圾邮件源 │
│ - 是否有收件限制 │
└─────────────┬───────────────┘
│
▼
┌─────────────────────────────┐
│ 4. 检查 Cloudflare 策略配置 │
│ - 邮箱是否在允许列表中 │
│ - 策略是否已激活 │
└─────────────┬───────────────┘
│
▼
┌─────────────────────────────┐
│ 5. 检查 Zero Trust 日志 │
│ - 查看邮件发送状态 │
│ - 确认是否有发送失败记录 │
└─────────────┬───────────────┘
│
▼
解决✅ 解决方案
方案 1: 验证邮箱地址
yaml
# 检查 Access 策略中的邮箱配置
Policy: Allow Authorized Users
Rules:
- Field: Email
Operator: Equals
Value: custerpeng@foxmail.com # 确认完全匹配注意: 邮箱地址必须完全匹配,包括大小写。
方案 2: 检查邮件服务商
| 邮箱服务商 | 常见问题 | 解决方法 |
|---|---|---|
| Gmail | 归类到推广/垃圾邮件 | 检查所有标签页 |
| QQ 邮箱 | 反垃圾过滤严格 | 添加 Cloudflare 到白名单 |
| 163 邮箱 | 海外邮件延迟 | 等待 5-10 分钟 |
| 企业邮箱 | 防火墙拦截 | 联系 IT 部门 |
方案 3: 检查 Zero Trust 日志
- 登录 Zero Trust Dashboard
- 导航到 Reports → Logs
- 筛选 Event Type:
access_email_sent - 查看最近的邮件发送记录
日志字段说明:
| 字段 | 说明 |
|---|---|
email | 目标邮箱 |
status | 发送状态 (success/failed) |
timestamp | 发送时间 |
error_code | 错误代码 (如有) |
方案 4: 重新发送验证码
- 等待 60 秒后重试
- 不要频繁点击发送按钮(可能触发速率限制)
- 尝试使用不同的浏览器
方案 5: 联系 Cloudflare 支持
如果以上方案都无效:
收集以下信息:
- 邮箱地址
- 尝试时间
- 浏览器类型
- 截图
问题 2: 访问策略未生效
🔍 症状描述
- 已配置访问策略
- 未授权用户仍能访问
- 或授权用户被拒绝
📊 可能原因
| 原因 | 概率 | 检查方法 |
|---|---|---|
| 策略未激活 | 高 | 检查策略状态 |
| 域名不匹配 | 高 | 检查 Application 配置 |
| 缓存未刷新 | 中 | 清除 CDN 缓存 |
| 策略优先级错误 | 中 | 检查策略顺序 |
| 配置未保存 | 低 | 确认保存操作 |
✅ 解决方案
方案 1: 确认策略状态
- 进入 Access → Applications
- 点击应用名称
- 查看 Policies 标签
- 确认策略状态为 Active
方案 2: 检查域名配置
yaml
# 正确的 Application 配置
Application:
name: Nanobot Knowledge Base
subdomain: nanobot-knowledge-base
domain: pages.dev
# 完整域名:nanobot-knowledge-base.pages.dev常见错误:
yaml
# ❌ 错误:缺少子域名
subdomain: ""
domain: nanobot-knowledge-base.pages.dev
# ❌ 错误:域名重复
subdomain: nanobot-knowledge-base
domain: nanobot-knowledge-base.pages.dev
# ✅ 正确
subdomain: nanobot-knowledge-base
domain: pages.dev方案 3: 检查策略优先级
如果有多个策略,Cloudflare 按以下顺序评估:
- Deny 策略(优先)
- Allow 策略
- Bypass 策略
确保:
- Deny 策略不会意外拒绝授权用户
- Allow 策略在正确的位置
方案 4: 清除缓存
bash
# 使用 Cloudflare API 清除缓存
curl -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/purge_cache" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"purge_everything": true}'问题 3: 域名配置问题
🔍 症状描述
- 访问时显示 Cloudflare 错误页面
- 域名解析失败
- SSL 证书错误
✅ 解决方案
方案 1: 验证域名解析
bash
# 检查 DNS 记录
dig nanobot-knowledge-base.pages.dev
# 预期输出应包含 CNAME 记录指向 Cloudflare方案 2: 检查 Pages 部署
- 登录 Cloudflare Dashboard
- 导航到 Workers & Pages
- 选择项目
nanobot-knowledge-base - 确认部署状态为 Success
方案 3: 验证 SSL/TLS 配置
- 进入 SSL/TLS → Overview
- 确认加密模式为 Full 或 Full (strict)
- 检查证书状态
问题 4: 缓存与 CDN 问题
🔍 症状描述
- 配置更改后不生效
- 显示旧版本页面
- 访问行为不一致
✅ 解决方案
方案 1: 清除浏览器缓存
Chrome/Edge: Ctrl+Shift+Delete
Firefox: Ctrl+Shift+Delete
Safari: Cmd+Option+E方案 2: 使用无痕模式测试
打开新的无痕/隐私浏览窗口进行测试,排除本地缓存影响。
方案 3: 清除 Cloudflare 缓存
参考 [问题 2](#问题 2-访问策略未生效) 的方案 4。
方案 4: 检查缓存规则
- 进入 Caching → Configuration
- 检查是否有自定义缓存规则
- 确保 Access 相关路径不被缓存
问题 5: 403 Forbidden 错误
🔍 症状描述
- 访问时直接显示 403 错误
- 没有登录页面
- 或登录后仍显示 403
✅ 解决方案
原因 1: 邮箱未授权
检查:
yaml
# 确认登录邮箱与策略中的邮箱完全匹配
策略邮箱:custerpeng@foxmail.com
登录邮箱:custerpeng@foxmail.com # 必须一致原因 2: 策略配置错误
检查:
- 策略 Action 是否为
Allow - 规则 Field 是否为
Email - 规则 Operator 是否为
Equals
原因 3: 需要 MFA 但未完成
解决:
- 检查是否完成了邮箱验证码输入
- 确认验证码未过期(通常 5 分钟)
- 尝试重新发送验证码
问题 6: 登录循环问题
🔍 症状描述
- 输入验证码后回到登录页
- 反复要求重新登录
- 无法进入应用
✅ 解决方案
方案 1: 检查 Cookie 设置
- 打开浏览器开发者工具
- 查看 Application → Cookies
- 确认
CF_Authorizationcookie 存在
方案 2: 清除 Access Cookie
1. 打开浏览器设置
2. 清除所有 Cloudflare 相关 cookie
3. 重新尝试登录方案 3: 检查 Session 配置
- 进入 Access → Applications
- 点击应用名称
- 检查 Session duration 设置
- 确保不是过短的时长
🛠️ 诊断工具
工具 1: Cloudflare Access 调试模式
在 URL 后添加 ?cf_access_debug=true 启用调试信息:
https://nanobot-knowledge-base.pages.dev?cf_access_debug=true工具 2: 浏览器开发者工具
检查网络请求:
- 打开开发者工具 (F12)
- 切换到 Network 标签
- 刷新页面
- 查找
cf_access相关请求
检查响应头:
cf-access-authenticated: true/false
cf-access-redirected: true/false工具 3: curl 测试
bash
# 测试 Access 保护
curl -I https://nanobot-knowledge-base.pages.dev
# 预期响应头应包含:
# cf-access-authenticated: false (未登录)
# 或 302 重定向到登录页📞 获取帮助
内部资源
Cloudflare 官方资源
- 文档:https://developers.cloudflare.com/cloudflare-one/
- 社区:https://community.cloudflare.com/
- 支持:https://support.cloudflare.com/
日志收集清单
提交问题前请收集:
- [ ] 问题发生时间
- [ ] 浏览器类型和版本
- [ ] 操作系统
- [ ] 截图或录屏
- [ ] 相关日志
- [ ] 尝试过的解决方案
🔗 相关文档
- Cloudflare Access 配置指南 — 完整配置流程
- UI 变化记录 — 2026 新版 UI 变更
- 文档生命周期管理 — 故障文档归档规范
文档状态: ✅ 已发布
最后验证: 2026-04-04