Cloudflare Tunnel · 费用与设置

Cloudflare Tunnel:哪些免费,哪些额外收费?

分享本地应用进行演示,或为家庭服务器设置固定地址。先了解费用,再选择合适的设置方案。

简短回答

隧道可能免费,网站运行另计。

Cloudflare 提供免费隧道。临时 Quick Tunnel 无需账户或域名。固定公共主机名需 Cloudflare 账户、域名和持续在线的计算机。

隧道
免费选项Quick Tunnel 适合测试;免费计划也支持命名隧道。
域名
用于你的专属地址注册和续费费用由域名注册商收取。临时预览无需域名。
计算机与电力
网站在线期间你的应用和连接器需持续运行。预算中应包含电费、维护和备份。
可选附加项
仅在需要时使用VPN、付费 Access 功能或 VPS 是额外选项,不是每个隧道的必需条件。

检查日期:2026年9月24日。 Cloudflare 方案 · Quick Tunnel 限制

选择你的路由

一键启动还是自行设置?

简单方式

你的隧道,一键开启。

想要无需输入命令或编辑配置文件的隧道?GhostlyShare 会自动检测正在运行的本地 Web 应用。点击 Go Public 并分享 HTTPS 链接。

从 GhostlyShare 开始 ↓
手动方式

自行配置隧道。

想自己管理 cloudflared.exe?Windows 指南将引导你通过命名隧道、使用自己的域名、控制台命令和后台服务进行设置。

查看 Windows 设置指南 ↓

GhostlyShare · Windows & Linux

无需控制台的 Cloudflare Tunnel。

GhostlyShare 是本指南中最简单的入门方式。桌面应用为你处理隧道设置。临时链接无需控制台命令、配置文件或 Cloudflare 账户。

  1. 启动你的应用在本地运行你的网站或 API。GhostlyShare 会自动检测可访问的本地 Web 应用。
  2. 点击 Go Public选择你想分享的应用。需要时可添加密码或链接过期时间。
  3. 发送链接复制 HTTPS URL 或用手机扫描二维码。保持电脑和应用运行。

免费临时链接,无需账户、邮箱或订阅。

GhostlyShare 显示共享应用及二维码、密码和链接控制
选择应用。启动隧道。分享链接。

临时 Quick Tunnel 适用于开发和测试,无正常运行时间保证。Cloudflare 目前限制最多 200 个并发请求,不支持服务器发送事件(SSE)。 查看限制详情

隧道保护内容

访问者连接到 Cloudflare,而非你的路由器。隧道配置正确时,你的家庭 IP 不会出现在公共 DNS 记录中。

保护家庭 IP 隐私

你的域名指向 Cloudflare,因此 DNS 查询不会泄露你的家庭 IP。

无需路由器端口转发

你的电脑主动连接 Cloudflare,无需为网站在路由器上开放端口。

保持本地运行 Web 服务器

你的应用可监听 localhost,Cloudflare 通过隧道使其可访问。

了解限制

隧道隐藏你的家庭 IP 免受访问者查看,但 Cloudflare 及你使用的任何 VPN 提供商仍能获取连接信息。

谁能看到哪些信息?

隧道不会让你的项目匿名。以下是访问者和服务提供商仍能获知的信息。

访问者

  • 访问者能看到你的公共地址以及网站发送的内容、头信息和 Cookie。
  • 当 DNS 仅指向隧道时,访问者通常看到的是 Cloudflare IP,而非你的家庭 IP。
  • 你在网站上发布的详情,如姓名或联系地址,仍可能识别你的身份。

Cloudflare

  • 对于命名隧道,Cloudflare 知晓你的账户、域名、隧道 ID、配置地址及连接状态。
  • Cloudflare 看到 cloudflared 使用的 IP:你的家庭 IP,或若通过 VPN 连接,则为 VPN 服务器 IP。
  • VPN 会更改该 IP 地址,但你的 Cloudflare 账户仍与命名隧道关联。

VPN 提供商

  • 你的 VPN 提供商能看到你的设备连接到 Cloudflare。
  • VPN 账户中的邮箱和支付信息仍可将账户与你关联。
  • 你还需信任 VPN 提供商掌握你的连接信息。

账户与个人信息

  • 域名注册、支付和重复使用的用户名可能将项目与你关联。
  • 共享账户和浏览器配置文件可能将你的管理活动与其他服务关联。
  • 检查你在使用的服务中共享的个人信息,隧道不会移除这些信息。

请求如何到达你的网站

Cloudflare 接收公共请求,并通过 cloudflared 转发到你的本地 Web 服务器。

01 访问者

访问你的网站地址并连接到 Cloudflare。

02 Cloudflare

处理 HTTPS 并通过隧道转发请求。

03 cloudflared.exe

保持 Windows 电脑与 Cloudflare 的连接。

04 本地网站

本地响应请求,无需开放路由器端口。

同一连接,VPN 作为中介

VPN 位于你电脑上的 cloudflared 与 Cloudflare 之间。

  1. 访问者

    访问你的网站。

  2. Cloudflare

    看到 VPN 服务器的 IP。

  3. VPN 服务器

    转发隧道连接。

    你的家庭 IP 保留在 VPN 之后。
  4. cloudflared.exe

    运行于你的电脑。

  5. 本地网站

    响应请求。

用作小型家庭托管设备的 Raspberry Pi 主板
可选硬件

一台用于持续在线网站的小型计算机

Raspberry Pi 或迷你电脑可以在笔记本关闭时保持网站在线。请规划更新、备份和可靠的网络连接。

在亚马逊查看
作为亚马逊联盟会员,我从符合条件的购买中获得收益。

Windows 上的 cloudflared.exe 是什么?

cloudflared.exe 连接你的 Windows 电脑到 Cloudflare,并将请求转发到本地应用。它管理隧道,不替代 VPN。

创建可复用隧道

登录 Cloudflare,创建命名隧道并分配自定义地址。

保持多条连接开启

连接器维护多条连接,单条连接失败时隧道可继续运行。

将地址连接到你的应用

使用配置文件将 app.example.com 转发到 http://localhost:3000。

手动启动或作为 Windows 服务运行

请先在 PowerShell 中测试。当你注销后仍需保持隧道运行时,请设置 Windows 服务。

其他支持的服务

Cloudflare Tunnel 还支持 SSH 和 RDP 等服务。本指南涵盖网站。

Windows 设置:cloudflared.exe 逐步指导

此流程假设网站已在本地正常运行,且你的域名已使用 Cloudflare DNS。以下示例使用 app.example.com 和本地 3000 端口服务。

请使用 PowerShell 7 执行以下所有命令。复制前请替换示例主机名、隧道名和本地服务。

01

步骤 1:定义将重复使用的值

在 PowerShell 7 中启动,继续前请替换示例主机名、隧道名和本地服务为你的实际值。

PowerShell 7
$TunnelName = "ghostly-home-site"
$PublicHostname = "app.example.com"
$LocalService = "http://localhost:3000"
$CloudflaredHome = "C:\Cloudflared\bin"
$ConfigPath = "$env:USERPROFILE\.cloudflared\config.yml"
02

步骤 2:准备 cloudflared.exe

重命名下载的二进制文件,创建专用文件夹,并将可执行文件复制到该文件夹。

PowerShell 7
Rename-Item "$env:USERPROFILE\Downloads\cloudflared-windows-amd64.exe" "cloudflared.exe"
New-Item -ItemType Directory -Force $CloudflaredHome
Copy-Item "$env:USERPROFILE\Downloads\cloudflared.exe" "$CloudflaredHome\cloudflared.exe"
03

步骤 3:检查安装

进入该文件夹,确认 cloudflared.exe 能正常启动,然后再进行认证。

PowerShell 7
Set-Location $CloudflaredHome
.\cloudflared.exe --version
04

步骤 4:登录并选择你的域名

此操作会打开浏览器以批准区域。账户证书会写入默认的 .cloudflared 目录。

PowerShell 7
.\cloudflared.exe tunnel login
05

步骤 5:创建隧道

创建隧道后,将命令输出中的 UUID 粘贴到下面的变量中,以便后续命令复用。

PowerShell 7
.\cloudflared.exe tunnel create $TunnelName
$TunnelId = "<paste-the-tunnel-uuid-from-the-create-output>"
06

步骤 6:编写配置

这些命令会在你的 Windows 配置文件中生成本地 config.yml,隧道据此知道哪个公共主机名转发到哪个本地服务。

PowerShell 7
Set-Content $ConfigPath "tunnel: $TunnelId"
Add-Content $ConfigPath "credentials-file: $env:USERPROFILE\.cloudflared\$TunnelId.json"
Add-Content $ConfigPath ""
Add-Content $ConfigPath "ingress:"
Add-Content $ConfigPath "  - hostname: $PublicHostname"
Add-Content $ConfigPath "    service: $LocalService"
Add-Content $ConfigPath "  - service: http_status:404"
07

步骤 7:验证配置

先打印文件内容以便检查,然后让 cloudflared 验证入口规则,最后发布 DNS。

PowerShell 7
Get-Content $ConfigPath
.\cloudflared.exe tunnel ingress validate
08

步骤 8:连接你的域名

这会告诉 Cloudflare 哪个主机名应指向命名隧道,确保开始提供实时流量前配置正确。

PowerShell 7
.\cloudflared.exe tunnel route dns $TunnelName $PublicHostname
.\cloudflared.exe tunnel info $TunnelName
09

步骤 9:启动并测试隧道

保持此 PowerShell 7 窗口打开,从其他网络测试网站。完成后用 Ctrl+C 停止隧道。

PowerShell 7
.\cloudflared.exe tunnel run $TunnelName
可选:将隧道作为 Windows 服务运行

首先确认隧道在 PowerShell 中能正常工作。然后以管理员身份打开 PowerShell 7 来安装和配置服务。

01

服务步骤 1:安装 Windows 服务

以管理员身份打开 PowerShell 7 并安装 Cloudflared 服务。

PowerShell 7 (Admin)
Set-Location $CloudflaredHome
.\cloudflared.exe service install
02

服务步骤 2:复制凭据和配置

Windows 服务运行于系统配置文件,因此需要自己的 .cloudflared 文件夹,包含证书、隧道凭据和 config.yml。

PowerShell 7 (Admin)
$SystemCloudflaredHome = "C:\Windows\System32\config\systemprofile\.cloudflared"
New-Item -ItemType Directory -Force $SystemCloudflaredHome
Copy-Item "$env:USERPROFILE\.cloudflared\cert.pem" "$SystemCloudflaredHome\cert.pem"
Copy-Item "$env:USERPROFILE\.cloudflared\$TunnelId.json" "$SystemCloudflaredHome\$TunnelId.json"
Set-Content "$SystemCloudflaredHome\config.yml" "tunnel: $TunnelId"
Add-Content "$SystemCloudflaredHome\config.yml" "credentials-file: $SystemCloudflaredHome\$TunnelId.json"
Add-Content "$SystemCloudflaredHome\config.yml" ""
Add-Content "$SystemCloudflaredHome\config.yml" "ingress:"
Add-Content "$SystemCloudflaredHome\config.yml" "  - hostname: $PublicHostname"
Add-Content "$SystemCloudflaredHome\config.yml" "    service: $LocalService"
Add-Content "$SystemCloudflaredHome\config.yml" "  - service: http_status:404"
03

服务步骤 3:设置配置路径并启动

设置 ImagePath,使其使用 Windows 系统配置文件目录中的配置,然后启动服务。

PowerShell 7 (Admin)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Cloudflared" -Name ImagePath -Value "C:\Cloudflared\bin\cloudflared.exe --config=C:\Windows\System32\config\systemprofile\.cloudflared\config.yml tunnel run"
sc.exe start cloudflared

Windows 服务需要自己的证书、隧道凭据和 config.yml,均存放在系统配置文件中。ImagePath 指定加载哪个配置。

使用 VPN 配合隧道

VPN 是可选的。若想隐藏你的家庭 IP 给 Cloudflare,请通过 VPN 连接 cloudflared,并检查 VPN 断开时的情况。

先启动 VPN 再启动 cloudflared

启动隧道前,检查电脑的公网 IP,应显示为 VPN 服务器 IP。

VPN 断开时阻止连接

启用并测试 VPN 的 Kill Switch。若无此功能,cloudflared 可能会直接通过你的网络供应商重新连接。

保持应用仅在 localhost 上运行

尽量将应用绑定到 localhost,避免为 Web 服务器开启额外的公共访问路径。

保持连接日志私密

调试日志可能包含 URL 和请求头,仅用于故障排查,分享前请先检查内容。

选择 VPN

找到适合你设置的 VPN

比较支持的设备、连接稳定性和 kill-switch 功能。下面的直达链接是联盟链接;目录中列有更多提供商。

推荐提供商: NordVPN

隧道停止时,访问者通常会看到 Cloudflare 错误。不要用家庭 IP 替换隧道的 DNS 记录以规避故障。

检查你的设置

从网络外部测试访问,并检查断线时连接行为是否符合预期。

检查 DNS 记录

查询公共 DNS 记录,应指向 Cloudflare,而非你的家庭 IP。

使用 VPN 时:检查 IP

先确认机器的公网 IP,了解 Cloudflare 在连接端看到的地址。

从不同网络测试

使用移动数据或其他外部网络测试,避免本地路由捷径误导。

使用 VPN 时:测试断线

测试时断开 VPN,Kill Switch 应阻止 cloudflared 通过家庭 IP 连接。

常见问题

Cloudflare Tunnel 家用托管免费吗?

是的,提供免费隧道选项。固定主机名需额外预算域名、电费和主机维护。付费 Access 功能或 VPN 为可选项。

我需要账户才能分享预览吗?

临时 GhostlyShare 链接无需账户、邮箱或订阅。使用自己的域名则需单独设置,要求拥有 Cloudflare 账户和在其管理的域名。

关闭电脑后预览链接还在线吗?

不在线。你的电脑、本地应用和 GhostlyShare 必须保持运行。若需持续服务和固定地址,请使用始终在线主机上的命名隧道。

访问者能看到我的家庭 IP 吗?

通常不会,只要你的 DNS 仅指向 Cloudflare,且未以其他方式暴露源地址。访问者连接的是 Cloudflare 边缘和公共主机名,而非隧道背后的住宅 IP。

我需要转发路由器端口吗?

不需要。你的电脑会主动连接到 Cloudflare,网站不需要开放路由器的入站端口。

Cloudflare 知道我什么?

对于命名隧道,Cloudflare 知道你的账户、域名和连接 IP。VPN 可将家庭 IP 替换为 VPN 服务器 IP,但账户仍与隧道关联。无账户的 Quick Tunnels 仍会向 Cloudflare 暴露连接 IP。