如有廠商邀請互惠合作撰寫評測、交換連結,請本站聯繫 聯絡我們

Portainer 部署 Cloudflared 隧道,不用防火牆開 Port 對外連線

Portainer Cloudflared OG
  • URLをコピーしました!

厭倦防火牆開 Port 被掃?用 Portainer 輕鬆部署 Cloudflared 隧道,不需開放防火牆或任何 Port 或設定 NAT 祼奔,即可安全將內部服務對外公開,適合 NAS、Docker 與自架環境使用。

目錄

前言:為什麼要用 Portainer 建 Cloudflared?

想像一下,你在家裡的 NAS 或伺服器想遠端存取,但又怕被駭客盯上?Cloudflared 就是工程師的救贖(逃),它能建立安全的隧道,讓你免開端口還能上 Cloudflare 的保護網,如果你還在用命令列敲到頭痛,來試試搭配 Portainer 這個 GUI 介面的懶人最佳拍檔吧~

準備工作

在開始前,確認你的環境OK:

  • Cloudflare 帳號:免費註冊一個帳號,記得驗證網址域名
  • Portainer 伺服器:如果還沒裝,可參考這教學來安裝
あわせて読みたい
ASUSTOR NAS Portainer CE 轉換 Portainer BE 安裝教學 想在 ASUSTOR NAS 上將 Portainer CE 轉換 Portainer BE?本文提供完整轉換步驟,也提醒你為何不能直接輸入 License 升級,避免環境出包,流程清楚又不踩雷,新手也能輕...

在 Cloudflare 建立 Tunnel

STEP
登入 Cloudflare Zero Trust

在帳戶首頁左側選單,選 Zero Trust 會跳轉到另一個頁面。

Portainer Cloudflared
STEP
建立 Tunnel 通道

在網路→連接器,切 Cloudflare Tunnels 標籤建立 Tunnel 通道。

Portainer Cloudflared
STEP
選擇 Cloudflared

類型選 Cloudflared 較簡單建立 Tunnels 出來;WARP Connector 有一定難度,所以不建議用於新手用。

Portainer Cloudflared
STEP
取名 Tunnels

幫 Tunnel 取個名字(例如:Portainer-Tunnels)

Portainer Cloudflared
STEP
複製 Token 權杖

建立完成後,Cloudflare 會給你一段 Token 權杖,要保存好,請勿外流,等等 Portainer 會用到,先別關掉頁面。

Portainer Cloudflared

用 Portainer 建立 Cloudflared Container

STEP
建立 Cloudflared 容器

點 Containers > Add container,Name 隨意命名,或許可以用台灣風格可以叫「安全隧道哥」,Image 會自動直接拉取 Cloudflared 映像檔。

  • Name:Cloudflared
  • Image:cloudflare/cloudflared:latest
Portainer Cloudflared
STEP
輸入命令
  • Command:tunnel run –token YOUR_TOKEN
    其中 YOUR_TOKEN 從 Cloudflare Zero Trust 取得 Token 權杖
  • Entrypoint:cloudflared –no-autoupdate

若僅走 HTTP2 協議的話,可以改成這樣輸入↓
tunnel run –protocol http2 –token YOUR_TOKEN

Portainer Cloudflared
STEP
網路配置

因為沒有端口映射可做,所以為了簡化網路設定,直接設成 host 網路直連模式就可以。

Portainer Cloudflared
STEP
環境變數加入時區

確保容器內部應用程式能正確使用正確的時區,避免因為主機與容器時區不一致而造成日誌、排程任務、時間戳記等出現混亂,加入時區確保一致。

  • name:TZ
  • value:Asia/Taipei
Portainer Cloudflared
STEP
設定重啟策略

設定永久自動重啟(Always),除非你手動停止它,例如容器當機、主機重啟…自動重啟的行為。

  • Restart policy:Always
Portainer Cloudflared
STEP
開始 Deploy 部署

Container 列表內,可看到 Cloudflared 是 running 狀態,代表是成功一半了。

Portainer Install

設定對外網域與內部服務

回到 Cloudflare Tunnel 設定頁,剛剛已建立好 Tunnel 地方,在下一步會看到填寫 Public Hostname 主機名稱。

  • 子網域:portainer
  • 網域:你的網域
  • 類型:HTTPS
  • URL:內部IP:Port(例如192.168.1.100:9443)
Portainer Cloudflared

然後記得把無 TLS 驗證設開啟,避免因 HTTPS 無法進去。

Portainer Cloudflared

完成後,打開瀏覽器輸入:https://你設好的子網域,就代表安全已經連到你 Portainer 了~

Portainer Upgrade

常見問題

Cloudflared 一定要開 Port 嗎?

不需要,完全不用。

可以跑多個服務嗎?

可以,一個 Tunnel 裡面能設多組 Hostname。

Container 掛掉怎麼辦?

restart: Always 已幫你處理大部分狀況,真的不行就 Portainer 重開一下。

跟 Nginx Proxy Manager 哪個好?

看需求,要「方便+安全」選 Cloudfared;要「進階自訂+本地管理」選 Nginx Proxy Manager。

結論

這次用 Portainer 建 Cloudflared 的過程,讓我覺得 Docker 世界原來這麼有趣,以前總是卡在命令列,現在 GUI 讓一切變輕鬆,如果常搞伺服器,多試多錯才熟練,別怕失敗,笑一笑就過去了!

For me, using Cloudflared with Portainer is a simple and reliable solution.

如果喜歡文章,歡迎分享~!よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目錄