🛠️ Cloudflare 对接详解

按照上面流程图的路径,我们先来看推荐的Cloudflare方案。

第一步:在 Cloudflare 上配置站点

  1. 添加站点:登录 Cloudflare,点击 “Add site”,输入你的域名 blog.reluxt.com 。Cloudflare 会扫描并导入你现有的 DNS 记录 

  2. 选择计划免费计划已包含 CDN、DDoS 防护和全球分布的网络,足够个人博客使用 

  3. 变更域名服务器 (Nameservers):按照 Cloudflare 的提示,将你的域名服务器 (Nameservers) 更换为 Cloudflare 提供的地址 。这通常是整个设置中最关键的一步,完成后全球的访问请求就会先经过 Cloudflare 的网络。

第二步:配置 Cloudflare 的关键设置

域名服务器变更生效后(通常几小时内,快则几分钟),在 Cloudflare 控制台进行如下设置:

  1. SSL/TLS 模式
    进入 SSL/TLS 板块,建议选择 Full (strict) 模式 。这会加密从用户浏览器到 Cloudflare,以及从 Cloudflare 到你源站服务器(1Panel)的全链路流量。

  2. 缓存规则 (Cache Rules)
    进入 Rules -> Cache Rules,创建规则来智能控制缓存 

    • 静态资源缓存:匹配表达式 (http.request.uri.path contains "/wp-content/") and (http.request.uri.path ext in ("css" "js" "png" "jpg" "webp")),边缘 TTL 可设为 “Respect Existing Headers” 或较长时长 

    • 绕过敏感路径:匹配表达式 (http.request.uri.path contains "/wp-admin/") or (http.cookie contains "wordpress_logged_in"),操作设置为 “Bypass Cache” 

  3. 防火墙规则 (Firewall Rules)
    在 Security -> WAF 中,可以创建防火墙规则。免费版用户可以设置安全级别 (Security Level),例如对可疑访客启动质询 

🔒 服务器与 1Panel 安全加固

接下来,我们按照流程图所示,在服务器端进行配置。

第一步:安装 Cloudflare 插件并调整 WordPress

  1. 安装官方插件:在你的 WordPress 后台搜索并安装 Cloudflare 官方插件 。安装后,在插件设置中用你的 Cloudflare API 密钥连接,这可以实现诸如当你发布新文章时,自动清除 Cloudflare 的相关缓存等功能 

  2. 检查站点地址:确保 WordPress 后台 “设置” -> “常规” 中的 “WordPress 地址 (URL)” 和 “站点地址 (URL)” 均已更新为 https://www.xxx.com 

第二步:配置 1Panel 与 Nginx

  1. 设置 SSL 证书:在 1Panel 的「网站」管理界面,找到你的网站,进入「HTTPS」设置。你可以选择使用 1Panel 自带的「证书申请」功能获取一个免费的 Let’s Encrypt 证书,或者手动上传从 Cloudflare 获取的 Origin CA 证书 

  2. 优化 Nginx 配置:在网站的「配置文件」中,添加以下关键配置:

    • 安全头:在 server 块内添加,增强浏览器安全性。

      nginx

      add_header X-Frame-Options “SAMEORIGIN” always;
      add_header X-Content-Type-Options “nosniff” always;
      add_header X-XSS-Protection “1; mode=block” always;
      add_header Referrer-Policy “strict-origin-when-cross-origin” always;

    • 静态资源缓存:在 server 块内添加,利用浏览器缓存,加速静态资源访问 

      nginx

      location ~* .(css|js|png|jpg|jpeg|gif|ico|svg|webp|woff2)$ {
      expires 365d;
      add_header Cache-Control “public, immutable”;
      access_log off;
      }

第三步:加固服务器安全

  1. 配置防火墙:在 1Panel 的「防火墙」功能中,确保仅开放必要的端口。对于 Web 服务,通常只需开放 80 (HTTP) 和 443 (HTTPS)。SSH 端口(默认22)可考虑修改为非标准端口以提高安全性。

  2. 控制访问权限

    • 为 1Panel 管理后台设置强密码,并开启安全入口(访问路径前缀)和两步验证 (2FA)

    • 定期备份:在 1Panel 的「计划任务」中,设置定期自动备份网站文件和数据库,并将备份文件存储在异地(如云存储空间)。

⚠️ 备选方案:1Panel 自带反向代理

如果你的网站暂时不需要 Cloudflare 提供全球加速和增强的 DDoS 防护,或者希望快速建立一个反向代理环境,也可以使用 1Panel 自带的反向代理功能,具体配置可参考流程图中的备选路径 

  1. 创建反向代理:在 1Panel 的「网站」页面,点击「添加网站」,选择「反向代理」类型 

    • 主域名:填写 blog.reluxt.com 

    • 代理地址:填写你的 WordPress 应用实际运行的地址,例如 http://127.0.0.1:端口号。请确保端口号正确,并且如果源站未启用 HTTPS,代理地址请勿使用 https:// 开头 

  2. 设置 HTTPS:为反向代理后的站点配置 SSL 证书,同样可以使用 1Panel 的证书申请功能或手动上传 

🔍 完成配置与测试

所有配置完成后,务必进行以下检查:

  • HTTPS 测试:在浏览器中直接访问 https://www.xxx.com,确认网站加载正常且地址栏显示安全锁图标。

  • 缓存测试:检查静态资源(如图片、CSS 文件)的响应头,确认包含 CF-Cache-Status: HIT(使用 Cloudflare 时)或 Cache-Control: public, immutable(Nginx 静态资源规则生效)等缓存标识 

  • 后台访问测试:访问 https://www.xxx.com/wp-admin,确认可以正常登录且功能无损