查看 Cloudflare Access 的常见故障排除场景。
Cloudflare Access 要求在使用 Fetch API 时,将 credentials: same-origin 参数添加到 JavaScript 中以包含 Cookie。如果缺少此参数,AJAX 请求将失败,并出现类似 No Access-Control-Allow-Origin header is present on the requested resource 的错误。有关更多信息,请参阅 CORS 设置。
当身份提供商 (IdP) 未在 SAML 响应中包含签名公钥时,会出现 SAML Verify: Invalid SAML response, SAML Verify: No certificate selected to verify 错误。Cloudflare Access 要求公钥与上传到 Zero Trust 的签名证书相匹配。请将您的 IdP 配置为在响应中包含公钥。
当 Cloudflare 缺少与您的 IdP 通信所需的 API 权限时,会出现 Failed to fetch user/group information from the identity provider 错误。请查看您特定 IdP 的 SSO 集成指南,并确保应用程序具有正确的权限(例如 Microsoft Entra 或 Okta)。
如果您将 Google Workspace 置于 Access 之后,则无法将 Google 或 Google Workspace 用作该应用程序的身份提供商。这会产生无限重定向循环,因为两个系统相互依赖来完成登录。
Invalid session. Please try logging in again 错误表明 Access 无法验证您的 CF_Session Cookie。如果您设备上的软件或防火墙干扰了对 Access 的请求,可能会出现此问题。请确保使用同一浏览器实例来发起和完成登录。
Firefox 在隐私窗口中的默认跟踪防护功能可能会阻止 CF_authorization Cookie 的发送,尤其是对于 XHR 请求。要解决此问题,您可能需要将您的应用程序域名和您的团队域名从跟踪保护中排除。
如果您在应用程序的登录路径上分配了 Cloudflare Worker 路由,该 Worker 可能会覆盖 cf-authorization Cookie。为防止此情况,请确保您的 Worker 脚本不修改或去除 Access Cookie 的 Set-Cookie 标头。
如果用户未收到一次性 PIN (OTP) 电子邮件:
- 策略拒绝:如果用户的电子邮件地址与应用程序的任何 Allow 策略不匹配,Cloudflare 将不会发送 OTP 电子邮件。为防止账户枚举,登录页面仍会显示"已发送电子邮件"的消息。
- 电子邮件屏蔽:由于之前的发送失败,用户的电子邮件可能在屏蔽列表中。请查看您的电子邮件日志或联系支持以清除屏蔽。
This One-Time PIN has already been used 错误发生在用户输入 OTP 验证码之前,该验证码已被兑换时。OTP 验证码是一次性的,在初始请求后 10 分钟内到期。此错误最常见的原因是网络上的电子邮件安全或反网络钓鱼工具自动访问了电子邮件中的链接,在您有机会输入验证码之前就消耗了该验证码。
要解决此问题,请在登录页面上选择 Request new code(请求新验证码)。如果错误持续出现,请将 [email protected] 添加到您的电子邮件安全工具的允许列表中,以防止其扫描 Cloudflare 身份验证电子邮件。有关设置说明,请参阅一次性 PIN 登录。
如果您使用 Access 作为 Google Workspace 的 SSO 提供商,Google Super Admin 在访问 admin.google.com 时无法通过 Access 登录。Google 要求 Super Admin 使用其原始 Google 密码,以确保他们始终可以访问管理控制台。
如果您在 SAML 身份验证期间收到 Required attributes are missing 错误,请验证您的 IdP 是否正在发送必需的 email 属性。此外,请检查您的 IdP 配置中的属性名称是否有拼写错误(例如,groups 与 gropus)。
如果未为 Access 应用程序生成证书,则会出现 Error 0: Bad Request. Please create a ca for application 错误。请参阅 SSH 短期证书为应用程序生成 CA。
此错误通常表明目标服务器的 SSH 守护程序 (sshd) 存在配置问题:
- SSHD 配置:验证
PubkeyAuthentication是否设置为yes,以及TrustedUserCAKeys是否指向正确的 Cloudflare CA 文件。 - 多种身份验证方法:Cloudflare Access for Infrastructure 目前不支持含多个逗号分隔要求的
AuthenticationMethods(例如publickey,keyboard-interactive)。
如果您在启用 Cloudflare 仪表板 SSO 的情况下尝试更改团队域名,则会出现 Access api error auth_domain_cannot_be_updated_dash_sso 错误。仪表板 SSO 目前不支持团队域名变更。
所有通过 Cloudflare Gateway 代理的连接,包括发往 Access for Infrastructure SSH 目标的流量,最长保证持续时间为 10 小时。如果连接在 Gateway 发布期间处于活跃状态,它将在 10 小时后终止。
为防止意外断开,我们建议按预定计划终止会话(例如,8 小时空闲超时)。您可以在 SSH 服务器或客户端配置中使用 ChannelTimeout 来配置此项。