什么是 Cloudflare Tunnel
Cloudflare Tunnel 是一種無需暴露服務(wù)器公網(wǎng) IP 即可安全連接到互聯(lián)網(wǎng)的服務(wù)。它通過建立從您的服務(wù)器到 Cloudflare 邊緣網(wǎng)絡(luò)的加密出站連接,避免了傳統(tǒng)端口轉(zhuǎn)發(fā)帶來的安全風(fēng)險。
為什么 WordPress 需要 Cloudflare Tunnel
- 安全性提升:無需在防火墻上開放端口,減少攻擊面
- 簡化部署:無需配置復(fù)雜的網(wǎng)絡(luò)設(shè)置
- 繞過網(wǎng)絡(luò)限制:適用于受限制的網(wǎng)絡(luò)環(huán)境(如企業(yè)內(nèi)網(wǎng))
- 隱藏服務(wù)器IP:防止DDoS攻擊直接針對源站
配置 WordPress 使用 Cloudflare Tunnel 的步驟
1. 準備工作
- 擁有 Cloudflare 賬戶
- 已注冊域名并托管在 Cloudflare
- 服務(wù)器上安裝 Docker(推薦方式)
2. 創(chuàng)建 Tunnel
- 登錄 Cloudflare 儀表板
- 進入 “Zero Trust” > “Access” > “Tunnels”
- 點擊 “Create a tunnel”
- 為隧道命名(如 “wordpress-tunnel”)
3. 安裝并配置 cloudflared
在 WordPress 服務(wù)器上執(zhí)行:
docker run -d --name cloudflared \
--restart unless-stopped \
cloudflare/cloudflared:latest \
tunnel --no-autoupdate run \
--token <您的隧道令牌>
4. 配置公共主機名
- 返回 Cloudflare 隧道配置頁面
- 添加公共主機名:
- 子域名:如 “blog”
- 域名:選擇您托管的域名
- 路徑:留空(除非需要特定路徑)
- 服務(wù)類型:HTTP
- URL:localhost:80(默認WordPress端口)
5. 配置 WordPress
- 確保 WordPress 設(shè)置中的站點地址為您的 Cloudflare 域名
- 更新
wp-config.php
:
define('WP_HOME', 'https://blog.yourdomain.com');
define('WP_SITEURL', 'https://blog.yourdomain.com');
高級配置選項
1. 性能優(yōu)化
- 啟用 Argo Smart Routing 加速連接
- 配置緩存規(guī)則減少源站負載
2. 安全增強
- 設(shè)置 Zero Trust 訪問策略
- 啟用 WAF 防護
- 配置速率限制
3. 負載均衡
- 多個 Tunnel 端點實現(xiàn)高可用
- 多臺 WordPress 服務(wù)器負載均衡
常見問題解決
- 連接問題:
- 檢查 cloudflared 日志:
docker logs cloudflared
- 驗證隧道狀態(tài):
docker exec cloudflared tunnel list
- 混合內(nèi)容警告:
- 確保 WordPress 使用 HTTPS
- 安裝 Really Simple SSL 插件
- 性能問題:
- 檢查 Cloudflare 緩存設(shè)置
- 優(yōu)化 WordPress 數(shù)據(jù)庫和插件
總結(jié)
通過 Cloudflare Tunnel 部署 WordPress 提供了更安全、更簡單的內(nèi)網(wǎng)穿透方案,特別適合那些無法或不愿暴露公網(wǎng) IP 的場景。這種方法不僅增強了安全性,還能利用 Cloudflare 的全球網(wǎng)絡(luò)提升訪問速度。