要在 Cloudflare Workers 上實作 Edge 端的動態快取與惡意爬蟲過濾,只需在 wrangler.toml 開啟 cache 功能,於 Worker 程式碼中根據請求路徑或使用者資訊設定 Cache‑Control 標頭,並利用 Cloudflare Bot Management 或自行檢查 CF‑Bot‑Score 於 Edge 端即時阻擋可疑爬蟲,這樣即可同時提升網站效能與安全。

原理:Edge 動態快取與爬蟲過濾的基礎概念

Cloudflare Workers 於全球 300 多個 Edge 節點執行 JavaScript,透過 V8 isolates 提供低延遲的執行環境(S3)。快取機制本質上是把回應的內容在 Edge 節點暫存,之後相同請求會直接回傳快取結果,減少回源次數(S1)。同時,Workers 可以在請求抵達源站前檢查 User‑Agent、IP、行為模式等資訊,配合 Cloudflare Bot Management 的機器人辨識模型,將惡意爬蟲過濾掉(S8)。

實作步驟:從設定到驗證的完整流程

  1. 01

    在專案根目錄的 wrangler.toml 加入 { "cache": { "enabled": true } },啟用 Workers 前置快取(S1)。

  2. 02

    於 Worker 程式碼中根據請求路徑或查詢參數決定快取策略,使用 new Response 時加入適當的 Cache‑Control 標頭,例如 `public, max‑age=300, stale‑while‑revalidate=60`(S1)。

  3. 03

    若需要根據使用者身份或地理位置變化快取,使用 `ctx.waitUntil(cache.put(key, response.clone()))` 於背景寫入快取(S2)。

  4. 04

    啟用 Bot Management:在 Workers 中呼叫 `ctx.botManagement.isBot(request)`(假想 API)或檢查 `request.headers.get('CF-Bot-Score')`,對分數低於門檻的請求直接回傳 403(S8)。

  5. 05

    部署後使用 `curl -I https://yourdomain.com/path` 檢查回應是否帶有 `x-cache-status: HIT` 或 `x-bot-score` 以驗證快取與過濾是否生效(S6)。

驗證與測試:確保快取與防護正確運作

  • 使用 Chrome DevTools 的 Network 面板觀察 `Cache‑Control`、`x-cache-status`、`CF-Bot-Score` 等標頭。
  • 模擬惡意爬蟲:改變 User‑Agent 為常見爬蟲字串,確認 Workers 是否回傳 403 或 429。
  • 在不同地理位置(VPN)測試快取命中率,確保 Edge 節點的快取分布符合預期。
  • 使用 Cloudflare Analytics 觀察 Bot Management 的阻擋統計,驗證惡意流量是否下降(S8)。

常見錯誤與排除:避免陷阱

  • 忘記在 wrangler.toml 開啟 cache:快取設定不會生效,請確認 `"cache": { "enabled": true }` 已正確寫入。
  • Cache‑Control 標頭語法錯誤:如缺少 `public` 或 `max‑age`,會導致 Edge 節點不快取。
  • 過度嚴格的 Bot 過濾規則:可能誤擋正常搜尋引擎,建議先觀察 Bot Score 再調整門檻。
  • 快取過期時間過長:內容更新後仍被舊快取命中,需在內容變更時主動清除快取(使用 `cache.purge` API)。

進階延伸:結合其他 Cloudflare 服務

除了基本的快取與爬蟲過濾,你還可以結合 Cloudflare Workers KV、Durable Objects 或 D1,將快取的鍵值與使用者會話資料同步保存,實現更細緻的個人化快取策略(S5)。若需要更高的安全等級,可在 Workers 前端加入 Cloudflare Access,讓內部應用在 Edge 端即完成身份驗證(S10)。

靜態快取 vs 動態快取比較

特性靜態快取(Cache‑Everything)動態快取(Worker 自訂)
設定難易度簡單,一鍵啟用需要程式碼與標頭設定
彈性所有路徑同一策略可依路徑、參數、使用者決定
更新即時性需手動清除快取可在程式內即時 purge
安全性無法過濾惡意爬蟲可在 Edge 端即時阻擋
「在 Edge 端完成快取與安全防護,是現代網站不可或缺的最佳實踐。」— Cloudflare 官方部落格
參考資料10
  1. 您的 Worker 現在可以擁有專屬的前置快取了 | Cloudflare 部落格
  2. Cloudflare Workers 教學:邊緣運算加速 WordPress 完整指南
  3. Cloudflare Workers 入門指南:前端也能架設後端的輕量伺服器服務
  4. 前端、後端和資料庫 — 現在集中於一個 Cloudflare Worker 中 | Cloudflare 部落格
  5. Cloudflare Workers 快速指南_人工智能_新缸中之脑-openEuler 社区
  6. 使用 Cloudflare Workers 提高 WordPress 速度和效能教學
  7. Cloudflare Workers 完全指南:从入门到实战的边缘计算部署手册
  8. Cloudflare 網站防護全攻略:從流量過濾到效能加速的實戰指南 - 專業洞見 - 元伸網頁設計
  9. 重新審視針對 Cloudflare Workers 的遠端 Spectre 攻擊 | Cloudflare 部落格
  10. 一鍵保護所有內部應用程式——無論是否「氛圍編碼」 | Cloudflare 部落格
Haeng-un Services

把方法落到實際品牌系統

從策略到執行,選擇你現在最需要補強的一環。

想在 Google 搜尋與 AI 搜尋中優先看到 Haeng-un?

可將 haeng-un.com 設為 Google 偏好來源。

加入 Google 偏好來源
Work with Haeng-un

把下一步做得更清楚。

需要網站、影像或社群內容一起整理,我們可以從現在最重要的問題開始。

合作洽詢