前置条件
- 已有 Cloudflare 账号,并且目标域名已经接入 Cloudflare。
- 目标服务已经可以通过 Cloudflare 托管的域名访问,例如
<SUBDOMAIN>.<DOMAIN>。 - 本文使用 Cloudflare Access 的邮箱 OTP 验证码方式保护访问入口。
如果
Path留空,表示保护整个主机名;如果只想保护某个子路径,可以填写/admin这类路径。
进入 Zero Trust
在 Cloudflare 控制台左侧菜单中进入 Zero Trust。

创建自托管应用
打开 Applications
进入 Zero Trust 后,选择 Access controls → Applications,点击 Add an application。

选择应用类型
在应用类型中选择 Self-hosted and private,然后点击 Continue with Self-hosted and private。

配置访问域名
在 Public hostnames 中填写要保护的域名:
Subdomain:填写<SUBDOMAIN>,例如test。Domain:选择<DOMAIN>。Path:留空表示保护整个域名。

配置访问策略
创建新策略
在 Access policies 区域点击 Create new policy。

配置邮箱允许规则
策略建议按下面方式配置:
Policy Name:填写便于识别的名称,例如<POLICY_NAME>。Action:选择Allow。Include:选择Emails。- 邮箱列表:填写允许访问的邮箱,例如
<EMAIL>。

保存策略
确认规则无误后,点击 Save policy。

创建应用并验证登录
创建应用
回到应用配置页面,确认预览中的 Sources、Policies 和 Destinations 正确后,点击 Create。

访问测试
访问受保护的应用地址,例如:
https://<SUBDOMAIN>.<DOMAIN>/
页面会跳转到 Cloudflare Access 登录页,输入允许访问的邮箱后点击 Send login code。

收到邮件后输入验证码,点击 Verify,验证通过后即可进入目标应用。

常见注意事项
Include规则只允许指定邮箱访问;未匹配的邮箱会被拒绝。- 邮箱 OTP 验证码通常有有效期,过期后需要重新发送。
- 如果只想保护部分路径,不要把
Path留空,应填写具体路径。 - 如果域名未正确接入 Cloudflare,Access 应用无法按预期拦截访问。
- 生产环境建议使用明确的策略名称,并只添加必要的邮箱或用户组。
