Online TingChuTW Cloudflare Tunnel 部署筆記
← 回首頁

🧠 TingChuTW 部署筆記

Synology NAS + Cloudflare Tunnel + 自有網域 tingchutw.com 的完整部署紀錄(可重建版)。
目標:不開 Port、不靠固定 IP、對外安全存取 NAS 的 Web Station(Nginx)。

Synology DSM Web Station / Nginx Docker / Container Manager Cloudflare Zero Trust Tunnel / Public Hostname

1️⃣ 架構總覽

資料流(由外到內):

Internet
  → Cloudflare DNS (tingchutw.com)
  → Cloudflare Tunnel
  → cloudflared (Docker on NAS)
  → http://192.168.0.190:80
  → Web Station (Nginx) /volume2/web

重點 cloudflared 是「主動連出去」,所以你不需要固定 IP,也不用 Port Forward。

2️⃣ Web Station 檢查

確認首頁位置:

/volume2/web/index.html

SSH 測試(NAS 內部):

curl -I http://127.0.0.1
curl -I http://192.168.0.190

有回 200 OK(nginx)→ Web Station 正常。

3️⃣ Tunnel 建立與路由(Public Hostname)

Cloudflare 後台路徑:

Zero Trust → Networks → Tunnels → (你的 tunnel,例如 nas-profile)
→ Public Hostname / Routes
欄位建議值說明
Hostnametingchutw.com主網域
Servicehttp://192.168.0.190:80指向 NAS Web Station(不要填 localhost)
Path(留空)整站轉發;要分流再填 /profile 等

常見錯誤 Error 1033 / 502 多半是:cloudflared 沒跑、或 Service URL 填錯(例如填成 localhost、或 NAS 服務沒回應)。

4️⃣ Docker 常駐(關 PuTTY 也不會掉)

Container Manager 建議用:

  • 映像:cloudflare/cloudflared:latest
  • 啟動命令:tunnel run --token <TOKEN>
  • 重啟策略:unless-stopped(或 always)

常駐的核心就是「Docker restart policy」。

5️⃣ 用 PuTTY 測試常駐是否成功

看容器是否在跑:

sudo docker ps | grep cloudflared

看最近 log:

sudo docker logs --tail 80 cloudflared

測試「自動重啟」:

sudo docker kill cloudflared
sudo docker ps

如果幾秒後又出現 cloudflared → 常駐 OK。

6️⃣ 可擴充規劃(未來上線 App / API 很有用)

子網域用途Service URL
lab.tingchutw.com技術筆記 / 實驗站http://192.168.0.190:80
api.tingchutw.comAPI / 小服務http://192.168.0.190:PORT
nas.tingchutw.comNAS 入口(不建議裸露)建議加 Access 保護

安全建議 之後可加 Cloudflare Access(限制只有你的 Google 帳號能進)。