觀點 · 資訊分享
Cloudflare Tunnel 新增網址正規化:比對規則前先把網址整理乾淨,2027 年 1 月 25 日起預設開啟
cloudflared 2026.10.0 起,Tunnel 可以在比對 ingress 規則前先整理網址:還原 ../、合併重複斜線、轉換反斜線。官方說這能讓需要 Access 驗證的規則更安全,目前預設關閉,2027 年起新版預設開啟。
- 發布
- 2026-10-23
- 篇幅
- 約 5 分鐘 · 2,095 字
- 結構
- 8 節 + 4 題常見問題
- 標籤

一句話看懂:Cloudflare Tunnel 的 cloudflared 新版可以在比對規則前先「整理網址」,需要 Access 驗證的規則會更安全;2027 年 1 月 25 日起,新版預設開啟。

先用白話講:為什麼網址要先整理?
想像大樓警衛手上有一張名單:「要去 3 樓的人必須登記」。有人說:「我要去 2 樓再往上一層的地方。」警衛如果只看字面,只聽到「2 樓」,就可能放行,其實對方的目的地是 3 樓。比較好的做法,是先把路線化簡成「3 樓」,再對照名單。
網址也一樣。/hello/../path 看起來在 hello 底下,實際上等於 /path。網址正規化就是在比對規則前,先把這種繞來繞去的寫法化簡。
Cloudflare Tunnel 是讓自架服務透過 Cloudflare 對外發佈的工具,在你的主機上執行的程式叫 cloudflared。它的設定檔裡可以寫很多條 ingress 規則,依主機名稱和路徑決定請求要轉給哪個服務;Cloudflare Access 則是在服務前面加上一道登入驗證。
發生什麼事
- Cloudflare 在 10 月 22 日的更新日誌宣布:從 cloudflared 2026.10.0 起,可以在比對 ingress 規則前先正規化網址
- 官方說這能改善「有規則需要 Cloudflare Access 驗證」的 Tunnel 的安全性
- 送到你的原站的網址路徑維持原樣,只有比對那一步用整理過的版本
- 目前預設關閉;2027-01-25 起,新發佈的 cloudflared 會預設開啟
- 沒有需要 Access 驗證規則的設定不受影響
會整理哪些寫法?
官方文件列出三種:移除 . 與 .. 路徑段(依 RFC 3986)、把反斜線換成正斜線、把重複的斜線合併成一個。
| 收到的路徑 | 比對規則時用的路徑 | 送到原站的路徑 |
|---|---|---|
/hello/../path |
/path |
/hello/../path |
/hello//path |
/hello/path |
/hello//path |
/hello\path |
/hello/path |
/hello\path |
給開發者的技術細節
cloudflared tunnel --disable-path-normalization=false run <TUNNEL_NAME_OR_UUID>
- 也可以在每個 cloudflared 副本設定環境變數
TUNNEL_DISABLE_PATH_NORMALIZATION=false,然後重新啟動 - 旗標的名稱是 disable,所以設成
false才是開啟,別看反了 - 官方提醒:2027-01-25 之前要測試你的路徑式路由,因為這個改變可能影響請求命中哪一條 ingress 規則
- 官方文件也說明,Access 會把 JWT(登入憑證)放在
Cf-Access-Jwt-Assertion標頭送給 cloudflared,可以在公開主機名稱的服務上強制檢查
該不該現在開?
- 有用路徑規則,又搭配 Access 驗證:現在就開,並確認自己的規則命中結果沒變
- 沒有用到 Access 驗證規則:官方說不受影響,但預設開啟的日期可以先記下來
- 一次管很多個 Tunnel:每個副本都要設定並重新啟動,別漏掉其中一台
我的看法
路徑這種東西,不同的環節對 ..、//、反斜線的理解常常不一樣:Cloudflare 看到的、cloudflared 看到的、後端框架看到的,可能各有各的版本。把「安全判斷」綁在路徑字串比對上,本來就容易出現縫隙,所以 Cloudflare 補這一層,我覺得方向是對的。
但也別因此覺得「開了就安全」。自架服務的人,最穩妥的做法還是讓後端自己也檢查登入狀態,不要只靠前面那一層比對。至於這次的功能,等於是官方先給你約三個月的緩衝:先開、再測、確認自己的規則沒被影響,到 2027 年預設開啟時就不會被打個措手不及。
名詞小辭典
- Cloudflare Tunnel/cloudflared:讓自架服務透過 Cloudflare 對外發佈的工具;cloudflared 是跑在你主機上的程式。
- Ingress 規則:cloudflared 設定檔裡的路由規則,依主機名稱和路徑決定請求轉給哪個服務。
- Cloudflare Access:在網站或服務前面加上登入驗證,通過才放行的功能。
- 網址正規化:把網址裡繞路、重複或不一致的寫法整理成標準形式,再拿去比對。