本篇文章更新時間:2026/04/08
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持 。
內容目錄
從 Cloudflare 轉向 bunny.net:一位開發者的 CDN 選擇與思考
編輯前言:這篇文章源自原文《Dropping Cloudflare for bunny.net》(連結),作者分享了他為何在多年使用 Cloudflare 後,決定把自己的技術部落格遷移到 bunny.net。對於正在考慮 CDN 或擔心供應商依賴的人,這篇值得一讀。
核心觀點 (Key Takeaways)
- 作者長期依賴 Cloudflare,但開始擔心「單點依賴」與企業集中化的問題。
- bunny.net 作為歐洲新興 CDN,性能已能與 Cloudflare 媲美。
- 遷移的過程比預期簡單,且能更細緻掌控 caching、origin、edge rule 等設定。
深入解析
原文作者一開始就點出一個常被忽略的問題:Cloudflare 的功能強、免費方案慷慨,但它也讓人很容易形成依賴。作者提到:「我可能隨時因為某個任意理由被切斷,所有網站瞬間停擺。」這種平台集中化的風險,是他開始尋找替代方案的主要原因。
而 bunny.net 的出現剛好填補了這個需求。它是來自斯洛維尼亞的歐洲公司,PoP 節點雖然不如 Cloudflare 多,但全球速度測試成績不錯。「支持歐洲科技圈」這個情感點,也成了作者做選擇的動力。
為何從 Cloudflare 離開?
- Cloudflare registrar 的部分讓他沒有太多歐洲替代品,但 DNS 與 CDN 就可以考慮移轉。
- 他最主要想替換的是 Cloudflare 的 orange cloud 功能:自動快取、origin 隱藏、安全防護。
- 最後他選擇 Porkbun 做域名註冊,並將 CDN 託付給 bunny.net。
bunny.net 的設定流程:從 Pull Zone 到 SSL
作者用相當清楚的步驟走過完整設定:
- 建立 pull zone 並指定 origin(例如伺服器 IP)。
- 多應用環境則需設定 Host header。
- 選擇 price tier 與地區。
- DNS 以 CNAME 指向
xxxxx.b-cdn.net。 - 驗證 SSL 後即成功啟用。
整體流程比他預期的更直覺,也讓網站能快速切換到 bunny.net 的 CDN。
Caching:bunny.net 的亮點
bunny.net 的快取邏輯相當彈性:
- 若網站已有正確 Cache-Control header,bunny 會完整尊重。
- 若沒有,可以啟用 Smart Cache 自動處理靜態資源。
- 作者選擇用 Phoenix router 自訂 Cache-Control,甚至直接快取 HTML。
他引用了自己的設定:
cache-control: "public, s-maxage=86400, max-age=0"
快取 HTML 的結果就是爆炸快,但代價是發布新文章時需手動 purge pull zone。
其他值得設定的小優化
作者也提供幾個「非必需但建議」的設定:
- 開啟 Force SSL
- 使用 Origin Shield 降低原始伺服器負載
- 啟用 Stale Cache
- 設定 Edge Rule,避免爬蟲誤收錄
xxxxx.b-cdn.net
每一項都能提升穩定度與使用者體驗。
筆者心得與啟發
讀完原文,我最大的感觸是:Cloudflare 的確好用,但它的壟斷式便利也會讓人忽略自由度與風險。
作者並不是質疑 Cloudflare 的技術,而是質疑「過度集中」這件事本身。這讓我想到,如果一家公司的 outage 能讓半個網路癱瘓,那是否代表我們該更積極尋找備援與替代方案?
另一方面,bunny.net 的定位也非常務實:不求功能包山包海,而是把 CDN 這件事做到非常快、非常透明。它的介面、計費方式、快取策略,都呈現一種「開發者友好但不干預太多」的態度。
如果你手上有個獨立網站或部落格,想擺脫 Cloudflare 依賴、想要更可控、更乾淨的 CDN,作者的遷移經驗是一個很好的參考。
簡單總結:不一定要離開 Cloudflare,但應該知道自己還有其他選擇。
