原标题:Windows 10 x64 配置 Cloudflare Tunnel 教程
前置条件
- 已注册 Cloudflare 账号,且域名已托管在 Cloudflare(DNS 已切换到 Cloudflare)
- Windows 10 x64 系统,具有管理员权限
- 本地有一个需要暴露的服务(如某个 web 应用,监听在
localhost:端口)
一、在 Cloudflare 面板创建 Tunnel
- 登录 Cloudflare Zero Trust 控制台
- 左侧菜单进入 Networks → Tunnels
- 点击 Create a tunnel
- 选择 Cloudflared 连接器类型
- 给 Tunnel 起一个名字(如
my-win10-tunnel),点击 Save tunnel
二、下载并安装 cloudflared
-
在创建流程的下一步,Cloudflare 会展示针对不同系统的安装命令,选择 Windows
-
页面会提供 MSI 安装包下载链接,(流程中有下载地址)例如:
<https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.msi>下载到本地。
-
双击安装,或以管理员身份打开 PowerShell 或 CMD,进入下载目录,执行安装:
msiexec /i cloudflared-windows-amd64.msi -
安装完成后,通过带管理员的终端配置带token的命令。页面通常会给出一条自动生成的、带 token 的命令,用来把 cloudflared 注册为 Windows 服务并连接到你的账号,格式类似:
cloudflared service install <你的TOKEN>在管理员终端执行该命令。
-
执行成功后,可以用以下命令确认服务已安装并运行:
sc query cloudflared状态应为
RUNNING。 -
回到 Cloudflare 面板的 Tunnel 页面,稍等片刻应显示该 Tunnel 状态为 Healthy / Connected。
三、配置 Public Hostname(应用程序映射)
- 在 Tunnel 详情页,切换到 Public Hostname 标签
- 点击 Add a public hostname
- 填写:
- Subdomain:如
app - Domain:选择你的域名
- Path(可选):留空表示根路径
- Service Type:选择
HTTP或HTTPS(取决于本地服务) - URL:填
localhost:端口(如localhost:8080)
- Subdomain:如
- 点击 Save hostname
保存后,该子域名会自动在 Cloudflare DNS 中生成一条 CNAME 记录,指向你的 Tunnel。
四、配置 Access(邮箱验证)
- 在 Zero Trust 控制台,进入 Access → Applications
- 点击 Add an application,类型选择 Self-hosted
- 填写应用名称,Application domain 选择你刚配置的子域名(如
app.yourdomain.com) - 进入 Policies 步骤,点击 Add a policy
- Policy name:任意,如
email-allow - Action:
Allow - Session duration:按需
- 在 Include 规则中选择 Emails,填入允许访问的邮箱地址(可添加多个)
- Policy name:任意,如
- 保存策略,完成应用创建
五、验证
- 在浏览器访问
https://app.yourdomain.com - 应会先跳转到 Cloudflare Access 登录页,要求输入邮箱
- 输入邮箱后,Cloudflare 会发送一次性验证码(PIN)到该邮箱
- 输入验证码后,即可跳转到你本地服务的页面
注意
- Token 泄露风险:
cloudflared service install <TOKEN>中的 token 具有连接权限,不要在日志、截图或公共仓库中泄露。 - 本地服务暴露面:即使有 Access 邮箱验证,本地服务本身如果存在漏洞,仍可能被已授权账号滥用,建议本地服务也做好基础加固。
- DNS 记录冲突:如果该子域名此前已有 A/CNAME 记录,添加 Public Hostname 时可能报错,需要先清理旧记录。
- 服务权限:
cloudflared作为 Windows 服务运行时权限较高,建议定期检查 cloudflared 版本更新,避免使用过旧版本。 - Access 策略遗漏:如果邮箱列表配置不当(如误开放为“允许所有人”),会导致未授权访问,建议保存后用无痕窗口测试一次。
- 服务卸载:如需移除,执行
cloudflared service uninstall,并在面板中(或msi程序右键)删除对应 Tunnel 和 Public Hostname,避免残留 DNS 记录。
如果这篇文章对你有帮助,点个赞吧。