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