Skip to content

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 日志

  1. 登录 Zero Trust Dashboard
  2. 导航到 ReportsLogs
  3. 筛选 Event Type: access_email_sent
  4. 查看最近的邮件发送记录

日志字段说明:

字段说明
email目标邮箱
status发送状态 (success/failed)
timestamp发送时间
error_code错误代码 (如有)

方案 4: 重新发送验证码

  1. 等待 60 秒后重试
  2. 不要频繁点击发送按钮(可能触发速率限制)
  3. 尝试使用不同的浏览器

方案 5: 联系 Cloudflare 支持

如果以上方案都无效:

  1. 收集以下信息:

    • 邮箱地址
    • 尝试时间
    • 浏览器类型
    • 截图
  2. 提交支持工单:https://support.cloudflare.com/


问题 2: 访问策略未生效

🔍 症状描述

  • 已配置访问策略
  • 未授权用户仍能访问
  • 或授权用户被拒绝

📊 可能原因

原因概率检查方法
策略未激活检查策略状态
域名不匹配检查 Application 配置
缓存未刷新清除 CDN 缓存
策略优先级错误检查策略顺序
配置未保存确认保存操作

✅ 解决方案

方案 1: 确认策略状态

  1. 进入 AccessApplications
  2. 点击应用名称
  3. 查看 Policies 标签
  4. 确认策略状态为 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 按以下顺序评估:

  1. Deny 策略(优先)
  2. Allow 策略
  3. 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 部署

  1. 登录 Cloudflare Dashboard
  2. 导航到 Workers & Pages
  3. 选择项目 nanobot-knowledge-base
  4. 确认部署状态为 Success

方案 3: 验证 SSL/TLS 配置

  1. 进入 SSL/TLSOverview
  2. 确认加密模式为 FullFull (strict)
  3. 检查证书状态

问题 4: 缓存与 CDN 问题

🔍 症状描述

  • 配置更改后不生效
  • 显示旧版本页面
  • 访问行为不一致

✅ 解决方案

方案 1: 清除浏览器缓存

Chrome/Edge: Ctrl+Shift+Delete
Firefox: Ctrl+Shift+Delete
Safari: Cmd+Option+E

方案 2: 使用无痕模式测试

打开新的无痕/隐私浏览窗口进行测试,排除本地缓存影响。

方案 3: 清除 Cloudflare 缓存

参考 [问题 2](#问题 2-访问策略未生效) 的方案 4。

方案 4: 检查缓存规则

  1. 进入 CachingConfiguration
  2. 检查是否有自定义缓存规则
  3. 确保 Access 相关路径不被缓存

问题 5: 403 Forbidden 错误

🔍 症状描述

  • 访问时直接显示 403 错误
  • 没有登录页面
  • 或登录后仍显示 403

✅ 解决方案

原因 1: 邮箱未授权

检查:

yaml
# 确认登录邮箱与策略中的邮箱完全匹配
策略邮箱:custerpeng@foxmail.com
登录邮箱:custerpeng@foxmail.com  # 必须一致

原因 2: 策略配置错误

检查:

  1. 策略 Action 是否为 Allow
  2. 规则 Field 是否为 Email
  3. 规则 Operator 是否为 Equals

原因 3: 需要 MFA 但未完成

解决:

  1. 检查是否完成了邮箱验证码输入
  2. 确认验证码未过期(通常 5 分钟)
  3. 尝试重新发送验证码

问题 6: 登录循环问题

🔍 症状描述

  • 输入验证码后回到登录页
  • 反复要求重新登录
  • 无法进入应用

✅ 解决方案

  1. 打开浏览器开发者工具
  2. 查看 Application → Cookies
  3. 确认 CF_Authorization cookie 存在
1. 打开浏览器设置
2. 清除所有 Cloudflare 相关 cookie
3. 重新尝试登录

方案 3: 检查 Session 配置

  1. 进入 AccessApplications
  2. 点击应用名称
  3. 检查 Session duration 设置
  4. 确保不是过短的时长

🛠️ 诊断工具

工具 1: Cloudflare Access 调试模式

在 URL 后添加 ?cf_access_debug=true 启用调试信息:

https://nanobot-knowledge-base.pages.dev?cf_access_debug=true

工具 2: 浏览器开发者工具

检查网络请求:

  1. 打开开发者工具 (F12)
  2. 切换到 Network 标签
  3. 刷新页面
  4. 查找 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 官方资源

日志收集清单

提交问题前请收集:

  • [ ] 问题发生时间
  • [ ] 浏览器类型和版本
  • [ ] 操作系统
  • [ ] 截图或录屏
  • [ ] 相关日志
  • [ ] 尝试过的解决方案

🔗 相关文档


文档状态: ✅ 已发布
最后验证: 2026-04-04

受控自动化架构 V2.0 | 仅限授权访问