2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

Cloudflare使用Workers和Pages部署網站反向代理

使用 Workers 和Pages 進行網站反向代理是一個非常實用的方法,可以幫助你加速存取、繞過限製或隱藏來源站位址。以下是一個簡潔的教程,教你如何利用這兩者實現反向代理功能。整個過程不需要自行託管伺服器,利用Cloudflare 的邊緣運算能力即可完成。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

Cloudflare 不只是一個CDN 服務商,而是一個高效能、低延遲、安全可靠的全球網路平台。

透過其遍布全球的邊緣運算架構,Cloudflare 能夠有效率地加速靜態與動態內容的分發,同時提供精準的快取策略以優化頻寬使用。此外,其內建的無限DDoS 保護機制可有效抵禦各類網路攻擊,確保業務的穩定性與安全性。

今天,我們將利用Cloudflare Workers 與Cloudflare Pages 建立高效率的反向代理服務,以充分發揮Cloudflare 在分散式運算與邊緣網路加速的優勢。

配置網站反向代理前的準備

Cloudflare帳戶

如果還沒有帳戶,請訪問Cloudflare進行註冊!

Cloudflare帳號註冊過程相對簡單,可以使用谷歌帳號、蘋果帳號或自訂的Email進行註冊。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

推薦使用Google進行註冊,Google帳戶幾乎覆蓋所有國外的熱門網站,都可以使用Google帳戶進行登錄,如果你還沒有谷歌帳戶的話,趕緊去註冊一個吧!

啟動域名

需要將網域轉移到Cloudflare上面,如果你還不會在Cloudflare中啟動網域的話,下面教你如何啟動網域。

需要更新您的名稱伺服器來啟動Cloudflare。

在Cloudflare後台新增域名,將域名輸入,預設選擇快速掃描DNS記錄,點擊繼續!

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

選擇免費計劃,域名添加成功!

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

接下來登入你的網域註冊的網站上,進入後台後,找到並關閉DNS 安全性(DNSSEC) 設置,如果預設是關閉的請無視,您以後可以透過Cloudflare 重新啟用。

將您目前的名稱伺服器替換為Cloudflare 指派的名稱伺服器。

注意:每個網域都會分配不同的名稱伺服器,刪除掉多餘名稱伺服器,在名稱伺服器1和名稱伺服器2中填入Cloudflare 名稱伺服器。

以下以namesilo為例:

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

在後台點選域名,進入網域操作頁面,編輯名稱伺服器。將名稱伺服器裡的內容刪除掉。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

修改名稱伺服器後,儲存即可。個別地區生效時間較晚,暫時不需要理會生效時間。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

在Cloudflare後台,如果網域狀態是活動狀態,就表示已經生效了,如果名稱伺服器沒有生效或修改錯誤,會顯示名稱伺服器無效。

GitHub帳戶

如果還沒有帳戶,請訪問GitHub進行註冊!

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

在GitHub上建立帳戶,只能使用電子郵件註冊,建議使用Gmail註冊。

在信箱中接收驗證碼,填寫完畢後,帳號註冊成功!

使用Workers和Pages部署網站反向代理Proxy

接下來我們使用Workers和Pages部署網站反向代理,有兩種方式來部署網站的反向代理,以下來實踐部署過程。

注意事項

  • Workers 方式: 複製_worker.js ,在Cloudflare 中儲存並部署。
  • Pages 方式: Fork 倉庫,在Cloudflare 連接GitHub 一鍵部署。
  • Workers vs Pages:Workers 更適合純動態代理,Pages 適合混合靜態內容和動態功能。如果只是簡單反向代理,Workers 更直接。
  • 免費配額:Cloudflare 免費方案提供每天10 萬次Workers 請求,Pages 也有類似的限制,足夠個人使用,但大規模流量可能需要付費方案。
  • 國內存取:workers.dev 和pages.dev 在中國大陸可能被限制,建議綁定自訂網域。
  • 安全性:確保目標網站允許代理商訪問,避免違反服務條款。

使用Cloudflare Workers 實現反向代理

Cloudflare Workers 是運行在Cloudflare 全球邊緣節點上的無伺服器腳本,可輕鬆處理HTTP 請求並將其轉發到目標網站。

第一步:註冊並登入Cloudflare

如果你還沒有Cloudflare 帳號,先去官網註冊一個,然後登入。

第二步:建立一個Worker

在Cloudflare 儀表板中,點擊左側運算(Workers)下方的"Workers 和Pages",然後選擇"快速開始"。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理給你的Worker 取個名字(預設會產生一個類似yourname.workers.dev 的網域)。

名字填寫完畢後,點選部署,接下來進入部署頁面中

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理點選編輯程式碼,進入到Worker 編輯器中,刪除預設程式碼,貼上以下簡單反向代理腳本。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

第三步:建立反向代理腳本

建立一個自訂的java腳本,以下是反向代理腳本範例:

addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)); }); async function handleRequest(request) { const url = new URL(request.url); // 將要求轉發到網域的目標網站const names name. // 建立新的請求const newRequest = new Request(url, request); return await fetch(newRequest); }

這個腳本會把所有送到你Worker 的請求轉送到example.com。

第四步:保存部署

點選右上角的藍色按鈕"部署",你的Worker 就上線了。你可以透過 https://your-worker-name.yourname.workers.dev 訪問它。

第五步:配置域名

由於workers.dev的網域在國內無法訪問,你需要配置新的網域。

在設定選項下面的網域和路由選單中,點選新增。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

選擇自訂網域,然後輸入網域後儲存。這時候網域就新增成功了,可以使用新網域存取了。

到這裡,使用Cloudflare Workers實現反向代理的功能就已經實現了,是不是很簡單。接下來還可以使用Pages部署網站反向代理程式。

使用Cloudflare Pages部署網站反向代理

Cloudflare Pages 是一個靜態網站託管平台,結合Git 倉庫自動化部署,適合快速上線前端專案。它最近新增了Functions 功能(本質上是Workers 的變體),允許在邊緣執行動態程式碼。

Cloudflare Pages 主要用於託管靜態網站,但結合Functions(基於Workers 的功能),也可以實現反向代理。

下面開始使用Cloudflare Pages 部署反向代理程式。

第一步:建立Pages 項目

在Cloudflare 儀錶板的"Workers 和Pages" 中,點擊創建,然後選擇"Pages",點擊"連接到Git"。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理
連接你的GitHub 或GitLab 倉庫(可以建立一個簡單的空的靜態項目,例如只有一個index.html)。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

第二步:連接到儲存庫

這裡以GitHub為例,首先需要在GitHub上建立一個專案。

在Github 上建立倉庫並新增程式碼,登入 Github 之後,如下圖所示,點選建立儲存庫,建立一個名為Cloudflare Pages 的私庫。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

注意,這裡建立新的儲存庫要選擇私人的,否則是任何人都可以存取的。

接下來建立新文件,點選creating a new file 建立新文件,建立文件。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

下面建立一個名為_worker.js 的文件,然後複製以下程式碼,在第五行單引號裡改成你想要反代的網站,然後儲存,提交更改。

反向代理的js程式碼,注意網域名稱中不要加https,http等字元。

export default { async fetch(request, env) { let url = new URL(request.url); if (url.pathname.startsWith('/')) { url.hostname = '反代位址' let new_request = new Request(url, request); return fetch; };

 

回到Cloudflare Pages頁面後, 選擇GitHub 後點選"連接GitHub" 按鈕。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

頁面跳到Github ,點選Install & Authorize 按鈕。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

輸入密碼連接,連接成功後,返回Cloudflare Pages

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

選擇儲存庫後,點選開始設定。

設定建置和部署頁面可以修改專案名稱,或預設即可,最後點選儲存並部署。

很多人在開始部署的時候顯示失敗。

這是因為Cloudflare Pages 的建置系統版本升級成了v2,在專案的設定選項中,將建置系統版本修改成v1,然後重新部署就可以成功了!

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

部署成功後,你可以在自訂網域中綁定獨立的網域名稱。

2025教你如何使用Cloudflare Workers和Pages來設定Proxy網站反向代理

到這裡Cloudflare Pages反向代理就設定完了,是不是很簡單!

Workers 和Pages 部署反向代理的區別和優缺點對比

選擇Workers 的場景:

需要強大的反向代理功能,例如:

  • 修改所有類型的回應內容(HTML、XML、JSON 等)。
  • 處理複雜的替換規則或動態路由。
  • 精確控制響應頭或快取策略。

對效能要求高,希望在服務端完成所有邏輯。

項目涉及邊緣運算或需要全球低延遲響應。

選擇Pages 的場景:

反向代理需求簡單,例如僅代理HTML 並做少量替換。

  • 項目主要是靜態網站,只需簡單的反向代理或重定向。
  • 不希望額外成本,只依賴免費額度。
  • 開發團隊熟悉前端開發,傾向靜態文件部署。

應用多條內容替換規則(包括標題、URL、圖片等)。以下是對比後的建議:

  • Workers:
    優點:可以完美實現你的腳本,直接在服務端完成所有替換,支援正規表達式和多種內容類型,效能和使用者體驗更好。
    推薦理由:你的需求涉及複雜的替換規則(多條正規匹配)和URL 重寫,Workers 更適合。
  • Pages:
    限制:只能透過客戶端JS 實現替換,效能較差,且無法處理非HTML 內容或回應頭。
    適用性:如果預算有限且只代理HTML,可以勉強使用,但體驗不如Workers。

推薦方案:使用Cloudflare Workers。它能完整實現你的反向代理和內容替換需求,且效能和靈活性更優。

5/5 - (1 vote)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *