WordPress 通过 Cloudflare Tunnel 实现安全内网穿透

来自:素雅营销研究院

头像 方知笔记
2025年08月04日 12:22

什么是 Cloudflare Tunnel

Cloudflare Tunnel 是一种无需暴露服务器公网 IP 即可安全连接到互联网的服务。它通过建立从您的服务器到 Cloudflare 边缘网络的加密出站连接,避免了传统端口转发带来的安全风险。

为什么 WordPress 需要 Cloudflare Tunnel

  1. 安全性提升:无需在防火墙上开放端口,减少攻击面
  2. 简化部署:无需配置复杂的网络设置
  3. 绕过网络限制:适用于受限制的网络环境(如企业内网)
  4. 隐藏服务器IP:防止DDoS攻击直接针对源站

配置 WordPress 使用 Cloudflare Tunnel 的步骤

1. 准备工作

  • 拥有 Cloudflare 账户
  • 已注册域名并托管在 Cloudflare
  • 服务器上安装 Docker(推荐方式)

2. 创建 Tunnel

  1. 登录 Cloudflare 仪表板
  2. 进入 “Zero Trust” > “Access” > “Tunnels”
  3. 点击 “Create a tunnel”
  4. 为隧道命名(如 “wordpress-tunnel”)

3. 安装并配置 cloudflared

在 WordPress 服务器上执行:

docker run -d --name cloudflared \
--restart unless-stopped \
cloudflare/cloudflared:latest \
tunnel --no-autoupdate run \
--token <您的隧道令牌>

4. 配置公共主机名

  1. 返回 Cloudflare 隧道配置页面
  2. 添加公共主机名:
  • 子域名:如 “blog”
  • 域名:选择您托管的域名
  • 路径:留空(除非需要特定路径)
  • 服务类型:HTTP
  • URL:localhost:80(默认WordPress端口)

5. 配置 WordPress

  1. 确保 WordPress 设置中的站点地址为您的 Cloudflare 域名
  2. 更新 wp-config.php
define('WP_HOME', 'https://blog.yourdomain.com');
define('WP_SITEURL', 'https://blog.yourdomain.com');

高级配置选项

1. 性能优化

  • 启用 Argo Smart Routing 加速连接
  • 配置缓存规则减少源站负载

2. 安全增强

  • 设置 Zero Trust 访问策略
  • 启用 WAF 防护
  • 配置速率限制

3. 负载均衡

  • 多个 Tunnel 端点实现高可用
  • 多台 WordPress 服务器负载均衡

常见问题解决

  1. 连接问题
  • 检查 cloudflared 日志:docker logs cloudflared
  • 验证隧道状态:docker exec cloudflared tunnel list
  1. 混合内容警告
  • 确保 WordPress 使用 HTTPS
  • 安装 Really Simple SSL 插件
  1. 性能问题
  • 检查 Cloudflare 缓存设置
  • 优化 WordPress 数据库和插件

总结

通过 Cloudflare Tunnel 部署 WordPress 提供了更安全、更简单的内网穿透方案,特别适合那些无法或不愿暴露公网 IP 的场景。这种方法不仅增强了安全性,还能利用 Cloudflare 的全球网络提升访问速度。