Cloudflare 免費方案每天含 10 萬次 Worker 請求,能用一個網域串起網站、郵件轉寄、R2 儲存與 AI 後端。截至 2026 年 10 月 10 日,Cloudflare 的官方計價文件仍將各項服務分開計費。網站流量、儲存操作與模型推論各有額度;網域註冊費也要另外付。
個人網站、作品集和小型工具,可以照這條路做。先讓網域正常運作,再接網站、信件和圖片,最後才加 AI。每一步都能獨立驗收,出了問題也找得到是哪一項服務。
下文以 example.com 為示範網域,請換成自己持有的網域。完成後,www.example.com 放網站、[email protected] 轉寄信件、img.example.com 放公開圖片,ai.example.com 則提供 AI 回應。
1. Cloudflare 把入口與運算放在同一個平台
Cloudflare 同時提供 DNS、網站代理和開發者服務。DNS 把網域名稱對應到目的地;啟用代理後,網站請求會先進入 Cloudflare,再由快取、來源伺服器或程式處理。
Cloudflare Workers 是執行程式的無伺服器平台。R2 是物件儲存,適合圖片與檔案;Workers AI 提供代管模型推論。新的 cf CLI 則讓開發者與 Agent 用命令列管理帳號資源。
依 Cloudflare 官方文件在 2026 年 10 月 10 日列出的額度,小站可以從以下範圍起步。
| 服務 | 免費額度與邊界 |
|---|---|
| Workers | 每天 100,000 次動態請求,每次最多 10 毫秒 CPU 時間;由 Static Assets 直接服務的靜態資源請求免費且不限量 |
| R2 Standard | 每月 10 GB-month 儲存、100 萬次 A 類操作、1,000 萬次 B 類操作;對外傳輸不收出口流量費 |
| Workers AI | 每天 10,000 Neurons;不同模型與輸入、輸出長度消耗不同 |
| Email Routing | 接收信件並轉寄到已驗證的目的信箱,Free 與 Paid 方案均可使用 |
靜態資源免費有明確前提。若請求經過 Worker 執行程式,或使用有獨立計費規則的 Worker Cache,不能把全部流量都算成免費靜態請求。R2 開通也包含訂閱與帳務設定;超量會按用量計費。

2. Cloudflare 接管 DNS,網域仍留在原註冊商
Cloudflare 接入既有網域,通常只需要變更 nameserver。網域所有權與續約仍由原註冊商管理,不必為了使用這套服務移轉註冊商。
在 Cloudflare 控制台選擇接入網域,輸入根網域 example.com,再選 Free 方案。Cloudflare 會掃描既有 DNS 記錄,但掃描結果需要自己核對。
先確認根網域與 www 指到哪裡,再檢查收信用的 MX,以及 SPF、DKIM 等 TXT 記錄。不要只核對網站能否開啟;漏掉郵件記錄,網站可能正常,信件卻收不到。變更前先匯出或抄下原本的完整記錄。
Cloudflare 會分配兩個 nameserver。到註冊商將原有設定換成控制台顯示的兩個完整名稱,不能照抄別人的範例。原本已開啟 DNSSEC 的網域,應先在註冊商停用舊設定,再變更 nameserver;網域在 Cloudflare 顯示啟用後,再依新的 DS 記錄重新開啟 DNSSEC。
驗收要同時看控制台狀態與公開 DNS。網域顯示 Active 後,核對 NS 查詢結果,並實際開啟原有網站、寄一封測試信。傳播尚未完成時,先確認註冊商的設定,不要反覆切換 nameserver。
3. Cloudflare 代理網站,郵件與 SSH 保留直接解析
Cloudflare 的橙色雲代表網站請求經過代理。灰色雲代表僅提供 DNS 解析,訪客直接連到記錄所指的目的地。
一般網站的 A、AAAA 或 CNAME 記錄可以依需求啟用代理。SSH 使用的主機名稱,以及郵件伺服器所用的 A 記錄,通常要保留僅 DNS。MX 與 TXT 記錄本身沒有橙色雲開關,不能把它們當成網站代理記錄。
HTTPS 要看兩段連線:瀏覽器到 Cloudflare,以及 Cloudflare 到來源伺服器。Full (strict) 會驗證來源憑證;來源端需要有效且符合主機名稱的憑證,不能只看到瀏覽器有鎖頭就算完成。
Flexible 使用 HTTP 連向來源。若來源又強制把 HTTP 轉向 HTTPS,請求可能一直繞回相同流程,最後顯示重新導向過多。先修正來源端憑證,再選擇合適的 TLS 模式。Cloudflare 正逐步提供自動模式,控制台是否已開放以實際帳號為準。
Workers Custom Domain 的來源就是 Worker,沒有自己維護的 VM 憑證。既有伺服器網站與 Worker 網站要分開判斷,不用把所有站點套成同一套來源設定。
4. GitHub 網站需要指定靜態資源目錄
Cloudflare Workers Static Assets 可以發布 HTML、CSS、JavaScript 和圖片。GitHub 儲存庫只是程式來源,還需要告訴部署工具哪些檔案是網站輸出。
先用最小的目錄結構,避免一開始就卡在框架建置。把下列兩個檔案放進同一個專案,第一個路徑是 public/index.html。
<!doctype html>
<html lang="zh-Hant">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>我的網站</title>
<h1>網站已部署</h1>
</html>
第二個檔案是專案根目錄的 wrangler.jsonc。日期是相容性設定,這裡採用本次範例日期。
{
"name": "one-domain-site",
"compatibility_date": "2026-10-10",
"assets": {
"directory": "./public"
}
}
在專案根目錄執行以下指令,可先在本機查看網站,再部署到 Cloudflare。
npx wrangler dev
npx wrangler deploy
部署需要自己的 Cloudflare 登入與授權。取得 workers.dev 網址後,先確認標題與首頁內容正確,再綁定正式網域。
若改走 GitHub 自動部署,在 Workers 的建立流程連接指定儲存庫。依 GitHub 的官方 GitHub App 安裝文件,授權可以只選必要的儲存庫;不用為一個網站開放所有儲存庫。再指定分支、建置指令與資源目錄,確保它們和設定檔一致。
純 HTML 專案不需要額外框架建置。框架專案則要填入真實的產出目錄,不能把儲存庫根目錄當成通用答案。推送一個小修改後,確認新部署成功,而且公開頁面已出現修改內容。
最後到 Worker 的 Domains & Routes 增加 Custom Domain,例如 www.example.com。網域要在同一個帳號的 Cloudflare zone 裡;Cloudflare 會處理對應的 DNS 與憑證。若主機名稱已有 CNAME,先確認既有用途與遷移方式,或從尚未使用的子網域開始。
5. Cloudflare Email Routing 轉寄來信
Cloudflare Email Routing 讓 [email protected] 收到的信轉寄到常用信箱。目的信箱必須先驗證,這項功能才知道信件該交給誰。
進入 Email Routing,加入目的地址,再到目的信箱點選驗證信。接著建立 hi 這個自訂地址,把它指向已驗證的目的地址。控制台會要求配置 MX 和相關驗證記錄,依當前提示完成即可。
既有網域若已用其他供應商收信,先處理 MX 遷移。直接換成 Email Routing 的 MX,會改變整個網域的收信路徑,不能期待兩套服務各自接收同一批信。
Catch-all 可以接收沒有單獨建立的地址,但也會增加垃圾郵件量。沒有這個需求,就先只開 [email protected]。測試時用另一個信箱寄信,檢查收件匣和垃圾郵件匣,並確認目的地址已驗證。
Email Routing 不是完整的網域信箱服務。若要以 [email protected] 回信,還需要合法的寄信服務與寄件身分設定。Cloudflare 的 Email Sending 目前是 Beta,一般寄送功能需要 Workers Paid;官方也列有寄往本人已驗證目的地址的免費使用範圍。不要把免費轉寄解讀成任意寄信免費。
6. R2 公開圖片與私有備份分桶保存
Cloudflare R2 適合保存圖片、附件和備份。R2 預設私有;建立儲存桶並上傳物件,並不等於外界已能讀取檔案。
開通 R2 時完成訂閱與帳務設定,再建立 Standard 儲存桶。建議分成兩個:公開圖片放 site-images,備份放 site-backups。備份桶維持私有,透過有適當權限的 API 或工具存取。
依 Cloudflare 在 2026 年 10 月 10 日的 R2 計價文件,Standard 每月有 10 GB-month 免費儲存,以及 100 萬次 A 類、1,000 萬次 B 類操作。A 類包含寫入等操作,B 類包含讀取;免費額度按操作種類分開計算。
GB-month 是按整個月的儲存使用量計算,不是一次性送 10 GB。Standard 超量儲存價格為每 GB-month US$0.015,A 類每 100 萬次 US$4.50,B 類每 100 萬次 US$0.36。對外傳輸不收出口流量費,但儲存與操作仍可能產生費用。
要當圖床,在公開圖片桶的設定綁定 img.example.com。例如物件名稱為 logo.png,就用 https://img.example.com/logo.png 測試。R2 自訂網域可以接上快取與存取控制,適合正式站點。
r2.dev 適合開發測試,有速率限制,也沒有自訂網域那套快取與防護功能。若只打算讓外界透過自訂網域進入,就停用 r2.dev 公開入口,避免留下另一條公開路徑。備份桶則不要開任何公開入口。
驗收時分別測試公開與私有檔案。圖片應能在未登入的瀏覽器載入;備份不應靠猜網址就能下載。確認用量頁面出現預期的儲存與操作紀錄,再把 R2 視為已完成。

7. Cloudflare 爬蟲規則與 AI Labyrinth 各有用途
Cloudflare AI Crawl Control 可以觀察已識別的 AI 爬蟲,並對個別爬蟲設定允許或封鎖。網站要讓搜尋引擎收錄時,應按爬蟲用途做選擇,避免一個總開關把需要的流量一起擋掉。
先看實際請求的來源與回應狀態,再決定規則。404 通常表示頁面不存在,不能直接當成機器人已被封鎖的證據。改完規則後,檢查同一類請求的新結果,而不是只看開關是否亮起。
Cloudflare AI Labyrinth 會放入不可見的 nofollow 連結,將不遵守限制的爬蟲引向其他頁面。它不會直接封鎖或挑戰請求,因此不能拿來替代一條明確的存取規則。
想阻止某個爬蟲,使用對應的封鎖設定;想增加違規爬蟲的成本,再評估 Labyrinth。網站部署完成後才調整這些功能,較容易辨認正常流量與規則效果。
8. Worker 先回應,再接上資料與模型
Cloudflare Worker 可以接收 HTTP 請求並回傳內容。第一個 Worker 可以先從控制台的 Hello World 範本開始,命名為 hello-ai,部署後打開 workers.dev 網址。
只有確認 Hello World 正常,才繼續加儲存與 AI。這樣出錯時,就能分清是部署失敗、網域設定問題,還是模型呼叫失敗。
Worker 用 binding 取得服務資源。Binding 是將一項 Cloudflare 資源連到程式環境的設定;名稱要和程式使用的 env 屬性一致。例如 AI 綁定叫 AI,程式才能使用 env.AI。
資料儲存依查詢方式選擇。短連結、設定值適合鍵值儲存;需要篩選、排序與關聯的表格資料,才考慮 SQL 資料庫。
| 儲存服務 | 適合資料 | 免費額度 |
|---|---|---|
| Workers KV | 設定、快取、短連結等依 key 讀取的資料 | 每天 100,000 次讀取、1,000 次寫入;共 1 GB 儲存 |
| D1 SQLite 資料庫 | 留言、訂單等需要 SQL 查詢的表格資料 | 每天讀取 500 萬列、寫入 10 萬列;共 5 GB 儲存 |
依 Cloudflare 的 Workers 限制文件,Free 每次請求的 CPU 上限是 10 毫秒。等待網路或模型回應的時間不算 CPU 時間;大量同步運算與迴圈才會消耗 CPU。不能拿整個 HTTP 回應花了幾秒,直接判斷 CPU 超限。
9. Workers AI 綁定後即可呼叫 Gemma
Cloudflare Workers AI 的 binding 讓 Worker 直接呼叫代管模型。這裡使用 @cf/google/gemma-4-26b-a4b-it,先做一個輸入固定、回傳 JSON 的最小範例。
到 hello-ai 的設定增加 Workers AI binding,變數名稱填 AI。再把 Worker 程式換成以下內容,儲存並部署。
export default {
async fetch(request, env) {
const answer = await env.AI.run("@cf/google/gemma-4-26b-a4b-it", {
messages: [
{ role: "system", content: "你是回答簡潔的繁體中文助手。" },
{ role: "user", content: "用兩句話解釋 CDN 是什麼。" },
],
chat_template_kwargs: { enable_thinking: false },
});
return Response.json(answer);
},
};
模型識別碼、messages 與 chat_template_kwargs 都是 API 契約的一部分。Cloudflare 的 Gemma 模型文件列有 enable_thinking 這項設定;換模型時,要重新檢查該模型的輸入格式,不能假設所有參數都相通。
打開部署網址,應看到模型輸出的 JSON。若失敗,先查 binding 名稱與部署版本,再看模型識別碼、回應狀態和用量。要接上自己的網站,再綁定 ai.example.com,並依需要處理驗證與跨來源請求。
這段程式沒有使用者驗證,而且每次請求都會呼叫模型。公開前應加存取控制與速率限制,或使用適合測試環境的限制方式。API Token 放在前端,任何訪客都能取出,不能靠這個做私有後端。
依 Cloudflare 在 2026 年 10 月 10 日的 Workers AI 計價文件,每天有 10,000 Neurons,UTC 00:00 重置。Neurons 是計價用的運算單位,不是一個 token;模型、輸入和輸出都會影響消耗。假設每次請求剛好使用 2 Neurons,算術上是每天 5,000 次,但這只是示例,不是 Gemma 的實測結果。
Free 方案超過每日額度,請求會失敗。Workers Paid 超過免費額度後,每 1,000 Neurons 為 US$0.011。看用量頁面或 API 回傳的使用資訊,才知道自己的請求能跑多少次。
Cloudflare 在 2026 年 10 月 1 日推出 Clef 決策模型,2026 年 10 月 9 日又更新系列。Clef 針對有限選項回傳機率與判斷,適合分類與路由;它和產生自然語言答案的 Gemma,用途不同。
| 模型 | 底座或定位 | 目前代管規格與價格 |
|---|---|---|
| Clef | Qwen 3.8 27B,支援文字與圖片的決策模型 | 65,536 tokens 上下文(公告稱 64K);每 100 萬輸入 tokens US$0.24 |
| Clef-flash | Qwen 3.5 9B,偏向快速決策 | 2026 年 10 月 9 日降為 US$0.038/100 萬輸入 tokens;代管上下文由公告中的 64K 改為 24K(文件列 24,576 tokens) |
| Clef-omni | 新增音訊與影片,並接收文字及圖片 | 2026 年 10 月 9 日推出;每 100 萬輸入 tokens US$0.15 |
Clef-flash 的開放權重沒有隨代管限制修改;自行代管和 Workers AI 的上下文限制要分開看。Cloudflare 公告也提供延遲測試,但不同輸入長度會得出不同結果。這裡只採用官方規格與價格,沒有跨雲效能測試,也不把公告延遲當成每次請求的保證。
10. cf 先找命令與預覽,再執行改動
Cloudflare 在 2026 年 9 月 28 日推出 cf CLI Beta。cf 是面向整個 Cloudflare API 的命令列工具,使用結構化 JSON 回應,適合讓 Agent 查詢與操作資源。
Cloudflare 的 Agent 文件目前寫超過 2,900 個命令,發布公告則寫超過 3,000 項 API 操作。兩種計數口徑不同,不必硬併成同一個數字。Wrangler 的範圍以 Workers 專案為主;既有專案有 Wrangler 設定檔時,仍要保留原本的部署設定。
先安裝並登入。cf auth login 會啟動授權流程,請在合法的 Cloudflare 頁面核對帳號與權限。
npm install --global cf
cf auth login
Agent 不需要一次閱讀所有命令。要建立 D1 資料庫,先搜尋所需操作。
cf cli search "create D1 database"
搜尋回傳相關命令後,再查看輸入欄位與型別。
cf schema d1 create
接著用 --dry-run 預覽請求。
cf d1 create --name my-database --dry-run
Cloudflare 文件說明,schema 與 dry-run 可以在沒有憑證時使用。預覽只證明請求如何組成,還沒有建立資料庫。真正執行前,確認帳號、資源名稱、權限和費用,再移除 --dry-run;執行後必須查回結果。
給 Agent 的專案指示可以保留這一條。
操作 Cloudflare 時,使用 cf CLI;若專案已有 Wrangler 設定檔,則沿用 Wrangler。
這條指示只決定工具,不等於授權所有刪除操作。API Token 應限制在需要的資源與操作,設定適當有效期限,並由環境變數或安全的憑證儲存提供。不要貼進對話、程式碼或 Git 儲存庫。
刪除驗收尤其要讀輸出。依 cf Agent 文件,非互動環境中的破壞性命令若缺少 --force,可能顯示 Aborted. 卻仍以代碼 0 結束。代碼 0 因此不能證明資源已刪除;要重新查詢資源是否存在。--force 也可能是某項 API 的真實參數,不能讓 Agent 見到失敗就一律追加。

11. Cloudflare 額度與故障要按服務查
Cloudflare 的免費額度分散在各項服務,而不是整個帳號共用一張請求配額。把每日、每月和總儲存量分開記錄,才能判斷小工具什麼時候需要付費。
以下依 2026 年 10 月 10 日官方文件整理。金額均為美元;實際付費範圍以啟用的方案和當期帳單為準。
| 服務 | 免費額度 | 需要更多時 |
|---|---|---|
| Workers | 每天 100,000 次動態請求;每次 10 毫秒 CPU;直接服務的靜態資源請求免費且不限量 | Workers Paid 帳號最低每月 US$5,含特定用量,超量另計 |
| Pages | Free 每月 500 次建置、同時 1 次建置;每站 20,000 個檔案、每檔 25 MiB | 依 Pages 方案與限制評估;既有服務仍有官方文件 |
| Workers KV | 每天 100,000 次讀取、1,000 次寫入;1 GB 儲存 | 查看 Workers Paid 的內含額度與超量價格 |
| D1 | 每天讀取 500 萬列、寫入 10 萬列;5 GB 儲存 | 查看付費額度;列讀取量也受查詢與索引影響 |
| R2 Standard | 每月 10 GB-month、100 萬次 A 類、1,000 萬次 B 類操作;出口流量免費 | 超量按儲存與操作計費;其他儲存類別有不同規則 |
| Workers AI | 每天 10,000 Neurons | Workers Paid 超額每 1,000 Neurons US$0.011 |
| Email Routing | 接收與轉寄信件 | 寄信服務另行設定;不能當成完整信箱配額 |
網站與 Worker 故障,先查造成症狀的那一層。以下列出六種常見情況與第一個處理動作。
| 現象 | 先查什麼 | 第一個處理動作 |
|---|---|---|
| 瀏覽器顯示重新導向過多 | Flexible 與來源端強制 HTTPS 是否互相衝突 | 修好來源憑證,再使用合適的 Full (strict) 或帳號可用的自動模式 |
| 網域一直未啟用 | 註冊商的兩個 nameserver、舊 DNSSEC 設定 | 核對完整 NS 名稱,處理舊 DS,再等 DNS 傳播 |
| 接入後收不到信 | MX、SPF、DKIM 與 Email Routing 目的地址 | 補齊正確記錄,確認目的地址已驗證,再用外部信箱重測 |
| SSH 連不上 | SSH 主機名稱是否啟用橙色雲代理 | 改用僅 DNS 的主機名稱或正確的 IP |
| R2 圖片變慢或受限 | 是否使用開發用 r2.dev |
正式站點改用自訂網域,再檢查快取與存取規則 |
| Worker 超過 CPU 限制 | 大量同步運算、迴圈或解析工作 | 減少或移走耗 CPU 工作,必要時評估付費方案 |
實作可以照下面的順序完成。每一步都留一個看得到的結果,下一步才有可靠的起點。
- 接入網域,核對 NS、網站與既有收信功能。
- 部署 GitHub 網站,確認公開頁面與最新提交一致。
- 設定
[email protected],從外部地址寄信並確認抵達。 - 建立 R2 公開圖片桶,測試圖片網址;備份桶保持私有。
- 查看爬蟲請求,設定需要的規則,再檢查正常流量。
- 部署 AI Worker,確認 JSON 回應、存取控制與實際用量。
- 安裝 cf,搜尋、讀 schema、預覽改動;執行後查回資源。
FAQ
Cloudflare 一個網域可以同時放網站、轉寄信件和 AI 嗎?
Cloudflare 可以讓同一個網域搭配網站、Email Routing、R2 與 Workers AI,通常用不同子網域區分用途。Workers Free 每天有 100,000 次動態請求,但 R2 操作和 AI Neurons 各自計算。網域註冊、完整寄信服務與超量用量仍需另外評估。
Cloudflare Pages 能放超過 25 MiB 的單一檔案嗎?
Cloudflare Pages 的官方限制是單一檔案最多 25 MiB。大型影片或下載檔應使用適合的物件儲存,再由網站引用;不能只提高建置次數,就繞過單檔限制。
Cloudflare R2 Infrequent Access 也有 Standard 免費額度嗎?
Cloudflare R2 的免費額度只適用 Standard 儲存類別。Infrequent Access 有讀取資料費與最低 30 天儲存期,且不適用 Standard 的免費額度。選擇儲存類別前,應以取用頻率與保存時間計算。
Cloudflare R2 公開桶會讓訪客列出所有檔案嗎?
Cloudflare R2 公開網址允許訪客存取已知物件路徑,但不提供桶根目錄的物件列表。不能列出檔案不等於檔案私有;已知或猜到物件路徑的人仍可存取公開物件。機密備份應放在未公開的桶裡。
Sources
- Cloudflare Workers 計價與限制;CPU 與每日限制
- Cloudflare 接入網域與 DNSSEC;SSL/TLS 模式
- Workers Static Assets 起步;Workers Custom Domains
- GitHub 官方:安裝第三方 GitHub App 與選擇儲存庫權限
- Cloudflare Email Routing 設定;Email Service 方案與寄信資格
- R2 計價;R2 公開桶與自訂網域
- AI Crawl Control;AI Labyrinth
- Workers KV 額度;D1 額度;Pages 限制
- Workers AI 計價;Gemma 4 26B A4B IT 輸入規格
- Clef 首發公告,2026 年 10 月 1 日;Clef 系列更新,2026 年 10 月 9 日
- Clef 規格;Clef-flash 規格;Clef-omni 規格
- cf 發布公告,2026 年 9 月 28 日;cf Agent 操作契約
Author Insight
個人作品集和低用量工具,值得從 Cloudflare Workers 靜態網站與 Workers AI 的組合開始。網站能靠靜態資源完成,AI 每日也維持在 10,000 Neurons 內時,省下的主機管理工作很實在。判斷會在公開 AI 端點需要持續服務、而免費方案超額會直接失敗時改變:此時應先確定付費預算與用量控制,才把這個端點交給正式使用者。
術語表
| 術語 | 本文用法 |
|---|---|
| Nameserver | 回答網域 DNS 查詢的伺服器;接入 Cloudflare 時在註冊商變更 |
| DNSSEC | 驗證 DNS 回應的簽章機制;換服務時須處理舊與新的 DS 記錄 |
| Origin/來源伺服器 | Cloudflare 代理後方提供原始網站內容的伺服器 |
| Static Assets | 直接部署並服務的 HTML、CSS、JavaScript、圖片等檔案 |
| Binding | 將 AI、KV、D1 等服務連到 Worker 環境的設定 |
| GB-month | 依整月儲存使用量計算的單位 |
| Neurons | Workers AI 的計價運算單位,不能直接當成 token 數 |
| Schema | 命令或 API 接受的欄位、型別與結構 |
| Dry-run | 預覽將發出的請求,尚未建立或修改資源 |
