在開發或運維工作中,我們常常會面臨一個挑戰:如何安全地將內部服務(如本地開發網站、儀表板、內網 API 等)公開到網路上,又不想暴露系統在風險之中?Cloudflare Tunnel 正是這樣一個簡單又強大的解法。

Cloudflare Tunnel 是什麼?

Cloudflare Tunnel(舊稱 Argo Tunnel)是由 Cloudflare 所推出的服務,它能讓你將內部服務安全地暴露在互聯網上,無需設定 port forwarding、開啟防火牆或擁有公開 IP

這項技術的核心理念很簡單:由你的伺服器主動建立一條加密通道(tunnel)連接 Cloudflare 的全球網路,並透過 Cloudflare 提供的網域名稱將使用者流量反向代理回你的本地服務。

為什麼你會需要它?

傳統上,如果你要把本地的應用程式公開給他人瀏覽,往往需要:

  • 公開 IP 位址

  • 設定防火牆和 NAT port forwarding

  • 自行申請 SSL 憑證與 HTTPS 設定

  • 負擔潛在的攻擊風險

而 Cloudflare Tunnel 則完全省去這些麻煩,讓你只需一行指令,就能做到這一切,甚至還提供了免費的 HTTPS、DDoS 防護與身分驗證機制

 

快速上手:免登入也能立即使用!

Cloudflare Tunnel 提供一種非常方便的模式,叫做 Quick Tunnel,你不需要 Cloudflare 帳號或設定 DNS,就可以快速把你的本地服務公開出去。

在終端機輸入以下內容

cloudflared tunnel --url http://localhost:3000

注意 port 是 localhost 的網站你給的 port

 

執行後會立即得到一個 Cloudflare 自動產生的臨時公開網址,例如:

https://bold-fox-14.trycloudflare.com

這條網址就能讓你或他人立即存取你本地的網站,非常適合開發測試或短時間分享。

如果你想要更完整的功能與部署彈性,請參考下一節使用正式的授權與 DNS 管理模式。

 

正式部署範例(需授權登入)

如果你需要使用自訂網域、Cloudflare Access、或長期部署服務,則建議你使用完整的 Cloudflare Tunnel 建立方式:

步驟如下(以 Linux 為例):

1. 安裝 cloudflared 工具程式

sudo apt install cloudflared

2. 登入 Cloudflare 帳號並授權

cloudflared tunnel login

3. 建立一條新的 tunnel

cloudflared tunnel create my-tunnel

4. 設定你的網域與轉發目標

cloudflared tunnel route dns my-tunnel dev.example.com

5. 啟動 tunnel

cloudflared tunnel run my-tunnel

 

常見應用情境

  • 遠端存取內部網站或系統管理介面

  • 分享本地開發環境給客戶或同事

  • 保護儀表板、NAS、Home Assistant 等敏感服務

  • 打造遠端 IoT 設備的安全入口

  • 展示測試版應用程式給遠端審查或用戶測試

 

常見問題

Q:它和 ngrok 有什麼差別?
A:Cloudflare Tunnel 更適合生產環境使用,不僅免費提供自訂網域與 HTTPS,還整合 Cloudflare 其他安全功能,如 DDoS 防禦與存取控制。

Q:Quick Tunnel 有效期限多久?
A:它是臨時的,只要你關閉終端機或中斷程式,該連線就會失效。

Q:我的機器在 NAT 或私有網路中,還能用嗎?
A:可以!Cloudflare Tunnel 是主動連出,不需開放任何防火牆 port。

如果你正在尋找一種安全、穩定、簡單的方式將本地服務公開到網路上,Cloudflare Tunnel 是非常值得一試的工具。無論你是開發者、系統管理員、IoT 愛好者,這個工具都能大幅簡化你的工作流程,並提升整體安全性。