WordPress网站Cloudflare配置指南:安全与性能优化

Cloudflare是一种一体化的安全和性能产品,作为全球超过12%网站的优选方案,它通过充当反向代理为您的站点提供强大支持。对于WordPress用户而言,将Cloudflare集成到网站中不仅能显著提升性能,还能有效抵御恶意机器人和黑客的侵扰。当配置得当后,Cloudflare会作为所有请求的中转站,智能判断是否需转发至源服务器、直接从缓存中响应、执行阻止操作或应用自定义规则处理。

本指南将深入解析WordPress的最佳Cloudflare设置方案,详细探讨缓存与安全配置细节,并为您提供WordPress多站点环境的Cloudflare配置方法。

### 如何为WordPress配置Cloudflare

尽管Cloudflare提供丰富的安全与性能功能,但并非所有特性都与WordPress完全兼容。让我们逐一了解Cloudflare的设置选项,找到最适合您WordPress站点的最佳配置方案。

#### SSL/TLS加密模式

Cloudflare支持四种SSL/TLS加密模式:Off、Flexible、Full和Full (Strict)。

WordPress网站Cloudflare配置指南:安全与性能优化

– **Off**:不启用加密
– **Flexible**:仅加密浏览器与Cloudflare之间的连接
– **Full**:端到端加密,允许源服务器使用自签名证书
– **Full (Strict)**:端到端加密,需使用Cloudflare免费原始证书或受信任CA证书

我们强烈建议采用**Full (Strict)**模式以获得最高安全性。建议在宝塔面板中生成免费的Let’s Encrypt SSL证书,并在Cloudflare中选用Full或Full (Strict)选项。若主机不提供免费SSL证书,您可在源服务器上安装Cloudflare原始证书,从而启用Full (Strict)模式。

若根域使用Flexible SSL,您可通过Cloudflare页面规则强制子域采用Full或Full (Strict) SSL。例如,当子域使用Flexible SSL而根域采用Full (Strict) SSL时,页面规则可确保子域同样实现严格加密。

#### 始终使用HTTPS

建议启用此选项,自动将所有HTTP请求重定向至HTTPS,确保数据传输安全。若您的站点已配置HTTPS,建议在源服务器上同样设置HSTS(HTTP Strict Transport Security),强制浏览器始终使用HTTPS连接。

#### HSTS(HTTP严格传输安全)

WordPress网站Cloudflare配置指南:安全与性能优化

HSTS通过HTTP响应头强制浏览器仅使用HTTPS连接访问您的站点,有效防止HTTP请求被拦截。若您的站点已启用HTTPS,建议在源服务器上配置HSTS,确保所有流量均通过安全通道传输。

#### 最低TLS版本

默认情况下,Cloudflare将TLS协议版本设置为1.0。但某些安全标准(如PCI DSS 3.2)要求使用更高版本的TLS协议。您可通过”SSL/TLS > Edge Certificates > Minimum TLS Version”调整设置,确保符合相关合规要求。

#### 自动HTTPS重写

此功能会自动检测HTML代码中的HTTP资源链接,并将其转换为HTTPS版本。对于避免混合内容错误、提升安全浏览体验至关重要。

### Speed(速度)选项

WordPress网站Cloudflare配置指南:安全与性能优化

Cloudflare的”Speed”选项卡包含多种性能优化功能,包括资产压缩、图像优化等。

#### 图像大小调整(商业计划专享)

此功能将图像缩略图生成任务卸载至Cloudflare,显著降低CPU使用率,减少磁盘空间占用。与WordPress内置缩略图功能相比,Cloudflare图像大小调整具有以下优势:

– 动态生成图像大小的站点可降低CPU负载
– 减少磁盘空间消耗
– 通过添加特定端点实现图像处理(示例):
原始图片URL:https://yourdomain.com/wp-content/uploads/2020/01/picture.jpg
调整大小图像URL:https://yourdomain.com/cdn-cgi/image/fit=contain,format=auto,metadata=none,onerror=redirect,quality=70,width=720/https://yourdomain.com/wp-content/uploads/2020/01/picture.jpg
可通过调整”width”参数动态生成不同尺寸的缩略图,无需增加服务器资源。

#### Polish(专业版专享)

Cloudflare Polish提供自动图像压缩服务,支持JPG、PNG、GIF等格式,并自动转换为Google的WEBP格式。其优势包括:

WordPress网站Cloudflare配置指南:安全与性能优化

– 降低服务器CPU使用率(与ShortPixel、Imagify等插件协同使用)
– 无需担心磁盘空间不足(图像存储在Cloudflare边缘)
– 自动为支持WEBP的浏览器提供优化图像

#### Auto Minify

自动缩小缓存的CSS、JS和HTML资源,提升页面加载速度。若未使用Autoptimize或WP-Rocket等插件,建议在Cloudflare中启用此功能。

#### Brotli压缩

作为GZIP的升级版,Brotli提供更高压缩比,但需注意并非所有浏览器都支持。我们建议启用此功能,不支持Brotli的浏览器请求将自动回退至GZIP压缩。

#### 增强的HTTP/2优先级(专业版专享)

WordPress网站Cloudflare配置指南:安全与性能优化

通过智能解析HTML确定资源加载顺序,据Cloudflare测试可减少页面加载时间高达50%。

#### Mirage(专业版专享)

针对移动设备和低带宽环境优化图像,初始加载时显示低分辨率占位图,加载完成后才显示全分辨率图像。此外,Mirage能将多个图像请求合并为单个请求,减少页面加载所需的往返次数。

#### Rocket Loader

通过异步加载JavaScript资源,减少页面渲染阻塞,加快加载速度。建议测试此功能对您网站的影响,若JavaScript依赖特定加载顺序,可通过添加data-cfasync=”false”属性绕过。

### 缓存(Caching)设置

WordPress网站Cloudflare配置指南:安全与性能优化

默认情况下,Cloudflare会缓存静态资源(CSS、JS、图像等),但不会缓存动态生成的HTML。建议将缓存级别设置为”Standard”,允许使用唯一查询字符串访问资源更新版本。

若服务器已设置浏览器缓存有效期,建议将Cloudflare的浏览器缓存过期设置设为”Respect Existing Headers”。若需覆盖默认设置,可随时调整。

### 防火墙(Firewall)设置

Cloudflare免费计划提供基本防火墙,支持自定义规则(如阻止特定IP、用户代理、国家等)。例如,可阻止来自非目标市场的虚假订单流量。

Pro计划提供更强大的Web应用程序防火墙(WAF),包含针对WordPress和PHP站点的专用规则集。对于大多数WordPress网站,免费计划的安全级别已足够;若需更高保护,可考虑升级至Pro计划。

### 网络(Network)设置

WordPress网站Cloudflare配置指南:安全与性能优化

建议启用HTTP/2、HTTP/3(QUIC协议)和0-RTT连接恢复:

– HTTP/2通过并行化和多路复用提升HTTP/1.1性能
– HTTP/3使用基于UDP的QUIC协议进一步优化性能
– 0-RTT连接恢复功能缩短访问者加载时间

### 页面规则(Page Rules)设置

Cloudflare页面规则允许针对特定URL自定义设置,如禁用某些资源缓存、更改安全级别等。关键组件包括:

– **URL匹配模式**:使用通配符(*)创建匹配规则
– **操作设置**:包括Always Online、HTTPS强制、缓存控制等

示例:将www域名重定向至非www版本

WordPress网站Cloudflare配置指南:安全与性能优化

匹配模式:www.brianonwp.com*
操作:301重定向至https://brianonwp.com/$1($1代表匹配模式中的第一个通配符)

可应用的设置包括:

– Always Online:启用离线时提供静态HTML副本
– Always Use HTTPS:强制HTTPS访问
– Auto Minify:启用HTML/CSS/JS缩小
– Automatic HTTPS Rewrites:自动重写HTTP链接为HTTPS
– Browser Cache TTL:设置浏览器缓存有效期
– Browser Integrity Check:检测并清除机器人和恶意流量
– Cache Deception Armor:防止Web缓存欺骗攻击
– Cache Level:配置缓存级别
– Disable Apps:禁用Cloudflare应用集成
– Disable Performance:禁用性能优化功能
– Disable Railgun:禁用Railgun加速
– Disable Security:禁用安全功能
– Edge Cache TTL:设置边缘缓存时长
– Email Obfuscation:混淆电子邮件地址防爬
– Forwarding URL:创建301/302重定向
– IP Geolocation Header:启用IP地理位置信息
– Opportunistic Encryption:允许客户端通过TLS通道访问HTTP
– Origin Cache Control:控制源服务器Cache-Control指令响应
– Rocket Loader:启用JavaScript异步加载
– Security Level:设置安全级别
– Server Side Excludes:隐藏敏感信息
– SSL:配置SSL级别(disabled, flexible, full, full strict)

### Cloudflare WordPress插件

官方WordPress插件提供以下功能:

– 优化的Cloudflare设置
– WordPress专用安全规则集
– 自动缓存清除
– HTTP/2服务器推送

WordPress网站Cloudflare配置指南:安全与性能优化

### WordPress自动平台优化(APO)

Cloudflare APO为WordPress网站提供专用性能优化服务,直接在Cloudflare边缘网络缓存HTML页面,性能提升可达70-300%。APO通过Workers KV(全球分布式键值存储)实现,将页面请求由源服务器转向Cloudflare边缘缓存,突破传统CDN限制。

APO最适用于静态内容为主的网站(如博客、新闻站、登录页面等),会自动绕过对登录用户和特定cookie页面的HTML缓存。APO作为Pro、Business和Enterprise计划的免费服务提供,免费用户可按月付费5美元使用。

### Cloudflare Argo和Railgun

#### Argo智能路由

Argo通过智能路由避开Cloudflare网络中的拥堵区域,测试显示可减少20-30%页面加载时间。适合追求极致性能优化的Cloudflare用户。

WordPress网站Cloudflare配置指南:安全与性能优化

#### Railgun加速

Railgun在服务器与Cloudflare间建立安全隧道,通过传输差异数据加速未缓存内容交付。仅适用于商业和企业计划,需在源服务器安装额外软件。适合高流量WooCommerce商店或论坛。

### 如何为WordPress多站点配置Cloudflare

多站点环境配置需注意以下事项:

#### SSL设置

以测试子域多站点为例(结构:brianwp.com、www.brianwp.com、site1.brianwp.com、site2.brianwp.com):

WordPress网站Cloudflare配置指南:安全与性能优化

1. 添加多站点域
2. 配置A记录
3. 启用Cloudflare代理

为启用Full (Strict) SSL,所有域需存在于源服务器SSL证书中。有两种方法:

– 生成涵盖所有域的Let’s Encrypt证书(宝塔面板操作)
– 生成Cloudflare Origin SSL证书(导航至SSL/TLS > Origin Server > Create Certificate)

#### 页面规则

全局设置(如CSS缩小)会自动应用于所有子域。若需针对特定子域调整,可创建自定义页面规则:

示例:禁用site2.brianwp.com的HTML/CSS/JS优化、Rocket Loader等

注意:免费计划仅支持3个页面规则,多子站点环境需升级至Pro计划。

### 总结

正确配置Cloudflare与WordPress集成,不仅能显著提升网站速度和安全性,还能有效降低服务器负载。通过合理利用SSL/TLS设置、缓存优化、防火墙规则和页面规则,您可以打造一个高性能、高安全的WordPress网站。

文章网址:https://www.wpbull.com/jiqiao/6013.html