Cloudflare Tunnel · 費用與設定

Cloudflare Tunnel:哪些免費,哪些需付費?

分享本地應用程式作示範,或為您的家用伺服器設定固定地址。先了解費用,再選擇合適的設定方式。

簡短結論

Tunnel 可免費使用,網站運行另計。

Cloudflare 提供免費 Tunnel。臨時 Quick Tunnel 不需帳號或網域。若要固定公開主機名稱,需 Cloudflare 帳號、網域及持續上線的電腦。

Tunnel
免費選項Quick Tunnel 適合測試;免費方案也提供命名 Tunnel。
網域
用於您的專屬地址網域註冊與續約費用由註冊商收取。臨時預覽不需網域。
電腦與電力
網站持續上線期間您的應用程式與連接器必須持續運作。請將電費、維護與備份納入預算。
選用額外項目
僅在需要時使用VPN、付費 Access 功能或 VPS 是額外選項,非每個 Tunnel 必須。

已於2026年9月24日檢查。 Cloudflare方案 · Quick Tunnel限制

選擇您的路徑

一鍵啟動還是自行設定?

簡易方式

您的隧道,一鍵完成。

想要不輸入指令或編輯設定檔的隧道嗎?GhostlyShare會自動偵測正在執行的本地網頁應用程式。點擊Go Public並分享HTTPS連結。

從 GhostlyShare 開始 ↓
手動設定

自行配置您的隧道。

想自己管理cloudflared嗎?Windows指南將引導您使用自己的網域、主控台指令及背景服務設定命名隧道。

查看Windows設定指南 ↓

GhostlyShare · Windows & Linux

無需主控台的Cloudflare Tunnel。

GhostlyShare是本指南中最簡單的入門方式。桌面應用程式會為您處理隧道設定。臨時連結不需主控台指令、設定檔或Cloudflare帳號。

  1. 啟動您的應用程式在本地執行您的網站或API。GhostlyShare會自動偵測可連接的網頁應用程式。
  2. 點擊Go Public選擇您想分享的應用程式。必要時可新增密碼或設定連結到期時間。
  3. 分享連結複製HTTPS網址或用手機掃描QR碼。請保持電腦與應用程式持續運行。

免費臨時連結。不需帳號、電子郵件或訂閱。

GhostlyShare顯示已分享的應用程式,含QR碼、密碼及連結控制功能
選擇您的應用程式。啟動隧道。分享連結。

臨時Quick Tunnel適用於開發與測試,無運作時間保證。Cloudflare目前限制200個同時請求,且不支援Server-Sent Events (SSE)。 閱讀限制說明

隧道保護的內容

訪客連接至 Cloudflare,而非您的路由器。隧道設定正確時,您的家用 IP 不會出現在公開的 DNS 紀錄中。

保護您的家用 IP 隱私

您的網域指向 Cloudflare,因此 DNS 查詢不會揭露您的家用 IP。

無需路由器埠轉發

您的電腦會主動連接至 Cloudflare,網站不需在路由器開放埠口。

本地運行網頁伺服器

您的應用程式可在 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 轉發至您的本地網頁伺服器。

01 訪客

開啟您的網站位址並連接至 Cloudflare。

02 Cloudflare

處理 HTTPS 並透過隧道轉發請求。

03 cloudflared.exe

維持您的 Windows 電腦與 Cloudflare 之間的連線。

04 本地網站

在本地回應請求,無需開放路由器埠口。

相同連線,VPN 作為中介

VPN 位於您電腦上的 cloudflared 與 Cloudflare 之間。

  1. 訪客

    開啟您的網站。

  2. Cloudflare

    看到 VPN 伺服器的 IP。

  3. VPN 伺服器

    轉送 Tunnel 連線。

    您的家用 IP 保留在 VPN 之後。
  4. cloudflared.exe

    運行於您的電腦。

  5. 本地網站

    回應請求。

用作小型家庭主機的 Raspberry Pi 主機板
選用硬體

一台用於持續運作網站的小型電腦

Raspberry Pi 或迷你電腦可以在您的筆電關機時持續讓網站上線。請規劃更新、備份及可靠的網路連線。

在 Amazon 查看
作為亞馬遜聯盟成員,我從符合資格的購買中獲取收益。

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 驗證 ingress 規則,然後才發佈 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,避免對網頁伺服器開啟額外的公開路由。

保持連線日誌的私密性

除錯日誌可能包含 URL 和請求標頭,僅用於故障排除,分享前請先檢查內容。

選擇 VPN

尋找適合您需求的 VPN

比較支援的裝置、連線穩定度與 kill-switch 功能。下方直接連結為聯盟連結;目錄中有更多供應商。

推薦供應商: NordVPN

若隧道停止,訪客通常會看到 Cloudflare 錯誤訊息。請勿以您的家用 IP 替換隧道的 DNS 紀錄來繞過中斷。

檢查您的設定

從網路外部測試存取,並確認中斷時連線行為符合預期。

檢查 DNS 紀錄

查詢公開 DNS 紀錄,應指向 Cloudflare,而非您的家用 IP。

使用 VPN 時:檢查 IP

先確認機器的公開 IP,了解 Cloudflare 連接端會看到的 IP。

從不同網路測試

使用行動數據或其他外部網路測試,避免被本地路由捷徑誤導。

使用 VPN 時:測試斷線情況

測試時斷開 VPN,kill switch 應阻止 cloudflared 透過您的家用 IP 連線。

常見問題

Cloudflare Tunnel在家用主機上是免費的嗎?

是的,有免費隧道選項。固定主機名稱需另行預算網域、電力及主機維護。付費Access功能或VPN為選用。

我需要帳號才能分享預覽嗎?

臨時GhostlyShare連結不需帳號、電子郵件或訂閱。使用自有網域則需Cloudflare帳號及該處管理的網域。

關閉電腦後,預覽連結會持續在線上嗎?

不會。您的電腦、本地應用程式及GhostlyShare必須持續運行。若需固定地址的持續服務,請使用命名隧道並在常開主機上執行。

訪客能看到我的家用 IP 嗎?

通常不會,只要您的 DNS 僅指向 Cloudflare,且未以其他方式公開來源 IP。訪客會連接到 Cloudflare 邊緣節點與公開主機名稱,而非隧道背後的住宅 IP。

我需要轉發路由器的埠口嗎?

不需要。您的電腦會主動連線到 Cloudflare,網站不需要開放路由器的入站埠口。

Cloudflare 知道我什麼?

對於命名隧道,Cloudflare 知道您的帳戶、網域與連線 IP。VPN 可將您的家用 IP 替換為 VPN 伺服器 IP,但帳戶仍與隧道關聯。無帳戶的快速隧道仍會向 Cloudflare 揭露連線 IP。