标签: Cloudflare

  • 如何解决Cloudflare加速网站出现Error 520未知错误

    错误类型:
    服务器错误
    错误名称:
    Cloudflare 520错误
    英文名称:
    Error 520
    错误描述:
    当您网站的访问者在他们的浏览器中看到Error 520时,这意味着Cloudflare正在发送消息,因为您的服务器返回了一个空的、未知的或意外的响应。

    如何解决Cloudflare加速网站出现Error 520未知错误

    当您网站的访问者在他们的浏览器中看到Error 520时,这意味着Cloudflare正在发送消息,因为您的服务器返回了一个空的、未知的或意外的响应。

    Error 520可以通过首先进行故障排除来找到原因,然后按照这些步骤进行修复。

    1. 对Error 520进行故障排除
    2. Error 520的常见原因
    3. 再次启用Cloudflare
    4. 如果其他方法都失败了怎么办

    对Error 520进行故障排除

    由于Error 520是由于您的服务器出现问题而出现的,您可以通过查看错误日志来解决该问题。

    网站Error 520的示例

    网站Error 520的示例

    禁用Cloudflare

    在开始故障排除之前,有必要禁用Cloudflare。这有助于隔离问题,确保可以在不影响Cloudflare的情况下复制问题。

    第1步:首先登录Cloudflare。然后,在列表中找到您的站点并单击它。

    单击您列出的站点

    单击您列出的站点

    第2步:接下来,单击DNS选项卡,然后单击表中Proxy status部分下的橙色云。您会知道Cloudflare已被禁用,因为云会变成灰色。

    单击橙色云以禁用Cloudflare

    单击橙色云以禁用Cloudflare

    暂停Cloudflare

    或者,您可以选择在登录后暂停Cloudflare。

    第1步:从列表中单击您连接的站点。

    登录后从列表中单击您的站点

    登录后从列表中单击您的站点

    第2步:然后,向下滚动,直到在侧栏中看到“Advanced Actions”部分。单击在站点上Pause Cloudflare on Site链接。

    单击链接以暂停Cloudflare

    单击链接以暂停Cloudflare

    第3步:页面上将显示一个弹出窗口,要求您确认要暂停Cloudflare。继续并单击“Confirm按钮。

    单击确认以暂停Cloudflare

    单击确认以暂停Cloudflare

    进入开发模式

    如果您不想暂停或禁用Cloudflare,您可以保持运行,但将其置于开发模式,以便您仍然可以对Error 520进行故障排除。

    第1步:登录Cloudflare后,单击页面顶部的Caching选项卡。

    转到缓存选项卡 转到缓存选项卡

    第2步:接下来,向下滚动到“Development Mode部分,然后单击“Off切换按钮,切换至“On”。

    通过单击切换按钮打开开发模式

    通过单击切换按钮打开开发模式

    检查服务器的错误日志

    现在您已禁用、暂停或将Cloudflare置于开发模式,您可以通过检查服务器的错误日志来解决Error 520。

    查找错误日志的方式因主机而异,因此如果您不确定在哪里可以找到错误日志,请与您的主机联系。

    如果您的托管服务提供商使用cPanel,您可以按照以下步骤操作。

    第1步:登录cPanel并在仪表板中,转到“Metrics部分。然后,单击Errors按钮。

    单击Metrics下的Errors按钮

    单击Metrics下的Errors按钮

    第2步:错误日志页面按时间倒序显示错误以及最多300条最新消息。如果您或您的主机调整了设置,错误日志可能会显示更多消息。

    查看cPanel的错误日志以解决Error 520

    查看cPanel的错误日志以解决Error 520

    使用宝塔面板检查Error 520日志

    如果您使用宝塔面板管理WordPress网站,您可以按照以下步骤检查您的错误日志。

    第1步:登录宝塔面板并单击左侧菜单中的安全管理-Web日志管理

    宝塔日志管理

    宝塔日志管理

    第2步:下载nginx_error.log文件,使用文本编辑器打开将会会显示错误日志。如果您没有看到任何列出的内容,那是因为您的网站上没有发生错误。

    如何解释错误日志

    错误日志中的每条消息都有一个结构。如果您理解它,您就可以解释出现的错误消息。

    [Fri Oct 11 17:00:30 2019] [error] [client 123.4.56.7] error description: /path/to/file/with/error
    [Fri Oct 11 17:00:30 2019] [error] [client 123.4.56.7] error description: /path/to/file/with/error
    [Fri Oct 11 17:00:30 2019] [error] [client 123.4.56.7] error description: /path/to/file/with/error

    消息的日期和时间首先列出,然后是LogLevel指令,它告诉您消息的严重性级别。

    接下来是客户端的IP地址。这就是让这个问题出现的人。

    最后,将显示实际消息,其中可能包含受影响文件的路径。

    以下是可能在错误日志消息中列出的LogLevel严重性级别:

    • Emerg – 这让您知道问题是紧急情况并且服务器不可用。
    • Alert – 如果您看到此级别,应立即采取行动。
    • Crit – 这表示危急情况。
    • Error– 这意味着发生了错误。
    • Warn– 具有此级别的消息是关于需要您注意但不重要的问题的警告。
    • Notice– 这意味着您的服务器是正常的,但有关于您的服务器可用状况的重要详细信息。
    • Info– 此级别提供一般信息。
    • Debug– 这些消息包含启用调试时的详细信息。

    使用cURL命令对错误520进行故障排除

    您还可以使用cURL命令通过针对源服务器进行测试来解决错误520。

    curl -vso /dev/null –user-agent “Mozilla 5.0” -H “Host: your-site.com” http://123.45.6.789/wp-login.php
    curl -vso /dev/null –user-agent “Mozilla 5.0” -H “Host: your-site.com” http://123.45.6.789/wp-login.php
    curl -vso /dev/null --user-agent "Mozilla 5.0" -H "Host: your-site.com" http://123.45.6.789/wp-login.php

    请务必将“you-site.com”更改为您的实际域。您还需要使用您站点的IP地址更新“123.45.6.789”。如果您更改了登录页面,您还应该更改“wp-login.php”部分。

    成功的响应标头类似于以下示例:

    * Hostname was NOT found in DNS cache
    * Trying 123.45.6.789…
    * Connected to 123.45.6.789 (123.45.6.789) port 80 (#0)
    > GET /login HTTP/1.1
    > User-Agent: Mozilla 5.0
    > Accept: */*
    > Host: your-site.com
    >
    < HTTP/1.1 200 OK
    < Content-Type: text/html
    < Date: Day, DD, Month Year Hour:Minute:Second Timezone
    { [12345 bytes data]
    * Connection #0 to host 123.45.6.789 left intact
    * Hostname was NOT found in DNS cache
    * Trying 123.45.6.789…
    * Connected to 123.45.6.789 (123.45.6.789) port 80 (#0)
    > GET /login HTTP/1.1
    > User-Agent: Mozilla 5.0
    > Accept: */*
    > Host: your-site.com
    >
    < HTTP/1.1 200 OK
    < Content-Type: text/html
    < Date: Day, DD, Month Year Hour:Minute:Second Timezone
    { [12345 bytes data]
    * Connection #0 to host 123.45.6.789 left intact
    * Hostname was NOT found in DNS cache
    *   Trying 123.45.6.789...
    * Connected to 123.45.6.789 (123.45.6.789) port 80 (#0)
    > GET /login HTTP/1.1
    > User-Agent: Mozilla 5.0
    > Accept: */*
    > Host: your-site.com
    >
    < HTTP/1.1 200 OK
    < Content-Type: text/html
    < Date: Day, DD, Month Year Hour:Minute:Second Timezone
    { [12345 bytes data]
    * Connection #0 to host 123.45.6.789 left intact
    

    如果您看到类似的内容,则表示一切正常,并且访问该站点时没有出现错误520响应。

    另一方面,如果您看到类似于以下示例的响应标头,则表示在Cloudflare处于活动状态时发生了520错误:

    * Hostname was NOT found in DNS cache
    * Trying 123.45.6.789…
    * Connected to 123.45.6.789 (123.45.6.789) port 80 (#0)
    > GET /login HTTP/1.1
    > User-Agent: Mozilla 5.0
    > Accept: */*
    > Host: your-site.com
    >
    * Empty reply from server
    * Connection #0 to host 123.45.6.789 left intact
    * Hostname was NOT found in DNS cache
    * Trying 123.45.6.789…
    * Connected to 123.45.6.789 (123.45.6.789) port 80 (#0)
    > GET /login HTTP/1.1
    > User-Agent: Mozilla 5.0
    > Accept: */*
    > Host: your-site.com
    >
    * Empty reply from server
    * Connection #0 to host 123.45.6.789 left intact
    * Hostname was NOT found in DNS cache
    *   Trying 123.45.6.789...
    * Connected to 123.45.6.789 (123.45.6.789) port 80 (#0)
    > GET /login HTTP/1.1
    > User-Agent: Mozilla 5.0
    > Accept: */*
    > Host: your-site.com
    >
    * Empty reply from server
    * Connection #0 to host 123.45.6.789 left intact

    如何生成HAR文件

    HAR是一个HTTP存档文件。它包含发送到源服务器以及通过Cloudflare的请求的档案。

    它可以帮助您进行故障排除,因为当它用作代理时,它会比较来自源服务器和Cloudflare的响应标头。

    如果这就是错误520出现的原因,它还用于确认标题太大。

    您可以通过以下步骤使用浏览器创建HAR文件:

    Chrome

    第1步:打开浏览器并右键单击该页面。然后,选择Inspect

    在Chrome中右键单击并选择检查

    在Chrome中右键单击并选择检查

    第2步:面板打开后,单击“网络”选项卡并确保面板左侧顶部有一个红色圆圈按钮。如果它是灰色的,请单击它。

    确保“网络”选项卡上的录制按钮为红色

    确保“网络”选项卡上的录制按钮为红色

    第3步:选中记录按钮旁边的保留日志选项,然后单击清除按钮。

    选择保留日志的选项,然后单击以清除以前的消息

    选择保留日志的选项,然后单击以清除以前的消息

    第4步:加载出现错误520的页面。然后,右键单击Chrome开发人员工具的消息区域中的任意位置。

    选择Save as HAR with Content并将文件保存到您的计算机。

    将HAR文件保存到您的计算机

    将HAR文件保存到您的计算机

    火狐

    第1步:打开Firefox并右键单击页面上的任意位置。然后,选择Inspect Element

    右键单击页面后选择检查元素

    右键单击页面后选择检查元素

    第2步:转到“网络”选项卡并访问出现 520 错误的页面。右键单击面板中的消息并选择Save All as HAR选项。

    将文件保存到您的计算机。

    右键单击并选择保存HAR文件

    右键单击并选择保存HAR文件

    Edge 

    第1步:打开Edge浏览器并右键单击该页面。从列表中选择检查

    在浏览器中右键单击后选择检查

    在浏览器中右键单击后选择检查

    第2步:转到“网络”选项卡并确保圆形记录按钮为红色。如果不是,请单击它。检查保留日志选项,然后清除当前消息的图标。

    单击以保留日志并清除旧消息

    单击以保留日志并清除旧消息

    第3步:转到您遇到错误520的页面。然后,右键单击开发人员工具面板中的消息,并选择“将所有内容另存为HAR”选项。

    将文件保存到您的计算机。

    Safari

    第1步:打开Safari并右键单击Windows的页面或按键盘上的CMD并单击Mac。从列表中选择检查元素

    右键单击页面后选择检查元素选项

    右键单击页面后选择检查元素选项

    第2步:转到网络选项卡。选中“保留日志”选项,然后转到出现错误520问题的页面。

    在“网络”选项卡上选中保留日志的选项

    在“网络”选项卡上选中保留日志的选项

    第3步:单击导出按钮并将HAR文件保存到您的计算机。

    导出HAR文件

    导出HAR文件

    解决错误520的常见原因

    现在您有了错误日志,请搜索它,看看您是否注意到以下任何一个问题。然后,按照以下步骤解决问题。

    源服务器PHP应用程序崩溃

    导致错误520的一个常见问题是PHP应用程序之一在您的服务器上崩溃。重新启动PHP将修复错误。

    使用SSH,您可以为Apache服务器输入以下命令:

    apache2ctl restart
    apache2ctl restart
    apache2ctl restart

    对于Nginx服务器,您可以使用以下命令重新启动PHP:

    service nginx restart
    service nginx restart
    service nginx restart

    Cloudflare IP地址未列入白名单

    可能发生520错误的另一个原因是Cloudflare的IP地址未列入白名单。您可以将它们列入白名单,但托管服务提供商之间的步骤有所不同。

    如果您不确定如何将IP列入白名单,请联系您的主机,尤其是当您没有找到任何设置时。

    TCP空闲超时少于300秒

    传输控制协议 (TCP) 也可能是错误520的原因。

    TCP是一种标准协议,用于建立和维护网络连接。如果TCP设置在300秒内超时,可能会导致520错误弹出。

    您可以使用CLI命令更改TCP服务超时:

    set service Service-HTTP-1 -svrTimeout 500
    set service Service-HTTP-1 -svrTimeout 500
    set service Service-HTTP-1 -svrTimeout 500

    标题超过8KB

    此问题通常是由于cookie过多或cookie过大造成的。您在故障排除过程中下载的HAR文件将显示这是否是问题所在。

    Cloudflare有可用于标头8KB的限制。

    如果您编写的插件需要太多cookie或cookie中有太多数据,请尝试减少它们。或者,如果您使用了很多都需要cookie的插件,请删除其中的一些。

    来自您的服务器的空响应

    当您的站点缺少HTTP状态代码或响应正文时会出现此问题。要解决此问题,请确保为您站点的域正确设置DNS

    检查您的设置所涉及的步骤取决于您的DNS主机。如果您的托管计划捆绑了DNS,请咨询您的托管服务提供商。

    请务必注意,如果您更新了DNS设置,您的站点可能需要长达72小时才能传播。这意味着您的网站最多可能有三天不可用。

    更改DNS设置后,您需要清除站点的缓存。如果您的WordPress站点上安装了缓存插件,并且不确定如何从插件设置中清除站点缓存,则可以查看其文档。

    您还可以通过您的托管服务提供商清除您网站的缓存。如果您需要知道如何为您的网站执行此操作,请务必与他们联系。

    如果您更新了DNS设置,您的站点再次可用,您清除了站点的缓存,但仍然遇到错误520,请重新启动服务器。

    缺少响应头

    根据Mozilla的说法

    “响应标头是一个HTTP标头,可以在HTTP响应中使用,并且与消息的内容无关。响应标头,如Age,Location或Server ,用于提供更详细的响应上下文。”

    丢失响应头的原因有很多。

    解决此问题的最佳选择是使用Fiddler之类的调试工具来调试问题并准确查看问题所在,以便您可以修复它。

    服务器未返回正确的HTTP错误响应

    当您的服务器发送无效的错误响应时,它可能会导致 520 错误。这意味着该消息不符合HTTP响应代码的标准列表

    它是由您的服务器引起的,也可能是您服务器上的某些内容,例如 PHP 应用程序或 WordPress 网站上使用的插件。

    如果您找不到错误代码的来源来修复它,请尝试联系支持以获得进一步的帮助。

    再次启用Cloudflare

    检查您是否再次收到错误消息。如果这样做,请禁用Cloudflare并继续进行故障排除。

    如果520 error已解决,请再次启用Cloudflare。

    第1步:为此,请登录Cloudflare,如果您通过将帐户中的云变为灰色来禁用Cloudflare,请首先从列表中选择您的站点。

    选择要启用Cloudflare的站点

    选择要启用Cloudflare的站点

    第2步:单击DNS选项卡,然后单击灰色云以重新启用Cloudflare。

    单击灰色的云以启用Cloudflare

    单击灰色的云以启用Cloudflare

    暂停后恢复Cloudflare

    第1步:如果您之前暂停了Cloudflare,请通过登录Cloudflare 并单击仪表板中列出的站点来恢复它。

    选择您需要恢复Cloudflare 的站点

    选择您需要恢复Cloudflare的站点

    第2步:然后,转到“Overview”选项卡并向下滚动到页面底部,直到您在页面右侧的侧栏中看到“Advanced Actions”部分。

    单击Enable Cloudflare on Site链接。

    再次单击启用Cloudflare的链接

    再次单击启用Cloudflare的链接

    关闭开发模式

    第1步:如果您之前已开启Cloudflare的开发模式,您可以通过登录将其关闭。然后,单击页面上列出的您的站点。

    选择您的网站

    选择您的网站

    第2步:接下来,转到Caching选项卡。

    单击Caching选项卡

    单击Caching选项卡

    第3步:向下滚动到“Development Mode部分,然后单击当前设置为“On”的切换按钮。

    单击切换以禁用开发模式

    单击切换以禁用开发模式

    如果其他方法都失败了怎么办

    如果您仍然看到问题,请联系Cloudflare支持。

    向他们提供以下详细信息:

    • 发生错误时所请求资源的完整URL。
    • Cloudflare的Ray ID,来自您看到error 520消息的页面。
    • http://your-site.com/cdn-cgi/trace的输出,但请务必将“your-site.com”替换为您的实际域名。
    • 两个HAR文件:一个来自为您的站点启用Cloudflare时的文件,另一个来自您禁用Cloudflare时的文件。

    小结

    error 520似乎令人困惑,尤其是因为它是Cloudflare错误。但是,这与导致Cloudflare无法连接的服务器错误有关。

    上述步骤是最常见的错误520原因的解决方案。如果您在尝试后仍然遇到问题,您可能需要联系Cloudflare或您的托管支持。

    注:如果您使用了百度云加速等类似的CDN服务,同样有可能出现error 520。您可以依据上述的解决方案作为参考,进行故障排查及修复。

  • 如何修复Cloudflare报错Error 1020:访问被拒绝

    错误类型:
    安全相关错误
    错误名称:
    Error 1020: 访问被拒绝
    英文名称:
    Error 1020: Access Denied
    错误描述:
    当在受Cloudflare保护的站点上违反防火墙规则时,会导致错误1020访问被拒绝。如果站点访问者尝试直接访问受保护的端点,则可以触发它。

    如何修复Cloudflare报错Error 1020:访问被拒绝
    每逢网站报错,站长都会非常焦虑。但如果您了解报错背后发生的事情,则可以做到处事不惊,有效地去精准地解决问题。

    如果您的网站使用了Cloudflare,相信您对‘Error 1020: Access Denied’这样的报错信息不会陌生。本文将会对该错误进行详细的解释及给出详细的应对方案。

    1. 是什么导致了“Error 1020: Access Denied”
    2. 网站访问者
    3. 站点所有者或管理员非Cloudflare域
    4. 站点所有者或管理员Cloudflare域

    是什么导致了“Error 1020: Access Denied”

    当在受Cloudflare保护的站点上违反防火墙规则时,会导致错误1020访问被拒绝。如果站点访问者尝试直接访问受保护的端点,则可以触发它。

    如果您看到此问题,请查看以下信息以查看解决此问题的后续步骤。

    网站访问者

    如果您在访问网站时看到错误1020访问被拒绝,但您不是网站所有者或管理员,我们建议您联系网站所有者,以便他们解决问题。

    请务必包含错误的屏幕截图或至少包含错误下方显示的Cloudflare Ray ID。

     

    Cloudflare错误1020访问被拒绝

    Cloudflare错误1020访问被拒绝

    站点所有者或管理员非Cloudflare域

    如果您是站点所有者或管理员,并且没有自己的Cloudflare帐户并实施了防火墙规则,请联系服务器支持团队并提供以下信息,以便我们调查并解决此问题:

    1. 发生错误的日​​期和时间。
    2. 错误消息下方显示的Cloudflare Ray ID。
    3. 发生错误时您或您的访问者正在采取的任何步骤(例如单击链接、更新内容、将某些内容添加到购物车、提交表单或其他操作)。

    站点所有者或管理员Cloudflare域

    如果您是站点所有者或管理员,并且拥有自己的Cloudflare帐户并实施了防火墙规则,则需要检查防火墙事件日志(Firewall > Events)以查看违反了哪个规则并导致请求被阻止。

    如果您在防火墙事件日志中没有看到任何被阻止的事件,请联系服务器的支持团队并提供上面列出的信息(在非Cloudflare域部分中)。

  • Cloudflare 522错误:3种可用修复方法

    错误类型:
    服务器错误
    错误名称:
    Cloudflare 522错误
    英文名称:
    Error 522
    错误描述:
    该错误可能由服务器过载,防火墙拦截Cloudflare请求,IP地址不正确和KeepAlive已禁用导致,而非Cloudflare本身出现问题。
    错误变体:
    Connection timed out
    更多信息

    Cloudflare 522错误:3种可用修复方法

    Error 522:连接超时消息是使用Cloudflare的网站常见的服务器端问题。在本文中,我们将找出导致错误522的原因以及如何修复它。

    确保您具有服务器管理员的访问权限,因为这是服务器错误,因为唯一的其他选择是联系网站所有者。但是,如果您有权访问原始服务器,请继续阅读以了解解决此问题的三种方法。

    我们还将分享如何解决其他相关问题,以避免遇到任何其他Cloudflare错误。

    Cloudflare Error 522的原因是什么?

    Cloudflare Error 522:连接超时消息是HTTP状态代码。内容交付网络( CDN) 服务,如Cloudflare,可加快浏览器用户与网站源服务器之间的网络连接。但是,有时服务器无法在指定时间内响应。

    此问题还意味着Web服务器和Cloudflare之间的传输控制协议(TCP) 握手失败。每当此CDN服务接收到用户请求时,TCP握手对于建立连接至关重要。

    那么,为什么源站服务器没有及时响应呢?以下是连接超时背后的一些最常见原因:

    • 服务器过载。当源站服务器面临太多请求时,它无法及时响应。
    • 防火墙拦截Cloudflare请求。一些网络托管服务提供商具有防火墙功能,可能会阻止Cloudflare IP地址,这些IP地址会标记来自CDN的请求。
    • IP地址不正确。您的域名系统(DNS) 上的地址与Cloudflare上的地址不匹配。
    • KeepAlive已禁用。Cloudflare默认激活KeepAlive消息。如果它们被禁用,则连接设置将失败。

    这些情况中的任何一种都可能导致您网站上出现错误522。大多数浏览器会显示相同的图像和消息,表明问题出在网络主机上。

    Cloudflare Error 522

    重要的!请注意,此错误不是由任何Cloudflare故障引起的。此外,无论您使用高级版还是免费版,都可能发生此问题。

    修复错误522:连接超时的3个步骤

    对于修复错误522:连接超时问题的每个步骤,我们还将分享如何检查错误背后的具体原因。

    重要的!首先,检查网站是否对所有人都已关闭,并确保Cloudflare系统状态正常运行,然后再继续执行这些步骤。

    1.检查Web服务器是否工作

    Cloudflare 522错误背后的一个常见原因是Web服务器无法处理HTTP请求,因为它已经不堪重负。此问题经常发生在共享托管服务器上。要解决此错误消息,请检查源Web服务器是否处于活动状态并接受HTTP请求。

    有多种方法可以检查您网站的源Web服务器,包括使用适用于Linux的Packet Internet Groper (PING) 命令或适用于Windows的Traceroute。Linux和Windows都使用PING命令来检查您网站服务器的连接状态。

    您的原始服务器无法正常工作的另一个原因可能是您网站的请求负载很高。因此,请检查您的服务器使用情况以避免达到任何限制。

    • CPU使用率——指中央处理单元 (CPU) 的消耗。将其保持在80%以下以避免性能不佳。
    • 内存限制– 帐户处理的内存量。
    • 进程– 帐户中所有进程的总数。
    • 带宽——在固定时间内传输的数据量。

    达到任何这些指标的最大阈值都会减慢网站速度并导致此错误。要确定您是否已达到限制,请检查紫线是否与图表上的红线接触。

    服务器内存占用

    以下是一些提高性能和优化服务器容量的方法:

    • 更少的插件。一些插件创建了比相应数据库所需的更多查询,从而在源服务器上产生高负载。删除不必要的插件以避免使用过多的服务器资源。
    • 修改代码。优化不佳的代码会导致CPU使用率过高。如果您对编辑网站代码感到满意,请考虑修改它以获得更快的性能。
    • 升级或更改托管计划。当您接近达到内存限制时,升级您的服务器主机计划或切换到不同类型的服务器主机。

    另外,检查是否有正在进行的维护,如果有,请等待维护结束,速度恢复正常。

    2. 查看Cloudflare DNS设置

    Cloudflare将在集成到域时导入所有DNS记录。其中一条记录是地址记录(A Record),负责将域与源Web服务器的IP地址连接起来。

    因此,IP地址不匹配会导致522错误:连接超时消息。服务器和Cloudflare上的A记录必须匹配才能避免此问题。打开DNS区域编辑器并检查A记录以解决此问题。

    访问域名解析服务管理面板下的DNS Zone编辑器。在DNS设置中,记下ContentType A旁边的IP地址

    DNS Zone编辑器

    接下来,前往您的Cloudflare配置菜单并单击DNS按钮。在它下面,检查Type A旁边的IP地址。确保两个DNS服务器上的IP地址相同。

    Cloudflare DNS设置

    如果A记录不同,请在Cloudflare的DNS设置中更改它们。单击添加记录按钮并将主机服务器的IP地址插入IPv4地址框中。单击“保存”按钮以处理更改。

    Cloudflare A记录设置

    此操作应修复错误522:连接超时问题。请注意,DNS更新最长可能需要24小时才能传播。但是,清除Cloudflare缓存可以加快处理速度。

    另一个需要仔细检查的DNS设置是Cloudflare加密模式。我们建议将加密模式设置为Full,以防止此问题再次发生。

    3. 浏览其他Web服务器设置

    解决此问题的另一个解决方案是检查网站的服务器设置。特别是,看看这三个:

    启用KeepAlive

    Cloudflare使用KeepAlive标头条目来维护与 Web 服务器的已建立连接。KeepAlive是保持TCP连接与HTTP请求保持打开状态的指令。

    由于连接失败,在源站Web服务器中禁用KeepAlive消息头会导致错误522。因此,始终启用KeepAlive标头以减少服务器的CPU和内存使用量。要使用此方法,请确保有权访问以下文件之一:

    • .htaccess –超文本访问有助于为Apache Web服务器上的网站配置附加功能。宝塔面板用户可以在文件管理器中找到该文件。
    • nginx.conf –开源Web服务器软件NGINX的主要配置文件。

    要演示如何启用KeepAlive标头,请将以下代码添加到.htaccess文件中:

    <ifModule mod_headers.c>
    Header set Connection keep-alive
    </ifModule>
    <ifModule mod_headers.c>
    Header set Connection keep-alive
    </ifModule>
    <ifModule mod_headers.c>
    Header set Connection keep-alive
    </ifModule>

    允许Cloudflare IP

    522 HTTP错误背后的另一个原因是防火墙功能拦截了Cloudflare的IP地址 – 请务必检查主机提供商的IP过滤以允许来自Cloudflare IP的请求。

    如果您的服务器提供IP管理器来授予访问权限或阻止特定的网址。前往IP Manager以控制您站点的IP路由。在Allow an IP Address部分下包括Cloudflare IP ,然后单击Add

    服务器访问IP管理器

    如果您的控制面板没有IP管理器,请使用文件管理器中的.htaccess文件。添加代码allow from并在两行之间插入Cloudflare的IP地址:

    #请勿删除此行

    代码将如下图所示。

    .htaccess文件访问IP控制

    这些更改将允许服务器接受Cloudflare请求并应修复错误消息。

    禁用Cloudflare

    如果前面的方法都不起作用,请暂时禁用此CDN服务。要再次使用CDN,再重新启动您的Cloudflare帐户即可。

    排查其他Cloudflare错误

    Cloudflare用户可能会收到其他HTTP状态消息。例如,错误520:Web服务器正在返回未知错误。此问题的常见原因是源Web服务器崩溃或Cloudflare不兼容的响应标头。

    错误520的故障排除步骤包括:

    • 确保Cloudflare DNS记录正确。
    • 禁用您的.htaccess文件。
    • 检查标题和cookie。

    另一个可能的问题是Error 521: Web server is down,通常是由于Cloudflare加密设置不佳或服务器无法访问。以下是解决错误521的一些方法:

    • 确保源服务器正在运行。
    • 测试与服务器的连接。
    • 检查加密设置。

    如果这些问题仍然存在,我们建议您联系Cloudflare支持服务。

    小结

    当服务器响应请求的时间超过指定时间时,会发生Cloudflare 522错误。此问题背后的一些常见原因是内存或CPU不足、防火墙拦截IP地址以及禁用的KeepAlive标头。

    让我们回顾一下解决此问题的三种方法:

    • 检查您的连接和内存。
    • 查看Cloudflare DNS设置。
    • 配置您的服务器设置。
  • 如何在您的WordPress网站上安装Cloudflare

    如何在您的WordPress网站上安装Cloudflare

    Cloudflare是一家提供内容交付网络 (CDN)、DNS、  DDoS保护和安全服务的公司。他们在网络性能行业因快速的DNS查找时间而闻名,并拥有由全球100多个不同数据中心组成的强大网络。他们得到了谷歌、微软和高通等业内知名人士的支持。他们的一些客户包括纳斯达克、Digital Ocean、Zendesk和思科。

    如果您正在寻找一种简单的方法来加快和增强WordPress网站的安全性,Cloudflare是一个很好的解决方案。大多数客户甚至可以使用他们的免费计划,该计划提供无限的CDN带宽。请按照以下步骤在您的WordPress网站上安装Cloudflare。

    注意:如果您使用Cloudflare,则无法使用来自Amazon Route 53的高级DNS。Cloudflare作为完整的代理服务运行,这意味着您必须选择其中一个。如果您想使用我们的高级DNS,您可以使用替代CDN来加速您的网站,例如KeyCDN,它不是一个完整的代理。

    1. 安装Cloudflare
    2. 常见的Cloudflare问题
    3. 如何清除Cloudflare缓存

    安装Cloudflare

    本教程假设您已经有一个Cloudflare帐户。如果您不这样做,您可以访问Cloudflare网站并注册一个免费帐户。

    第 1 步

    登录Cloudflare仪表盘,然后单击“+ 添加站点”。输入您的WordPress站点的域名,然后单击“Begin Scan”。(不需要加www或者HTTP/HTTPS,根域就可以了)

    将WordPress站点添加到Cloudflare

    将WordPress站点添加到Cloudflare

    可能需要一两分钟,然后单击“Continue Setup”。

    第 2 步

    Cloudflare为您提供了两种选择。您可以使用他们的CDN和protection(加速和保护您的网站),或者您可以简单地使用他们的DNS。大多数客户会想要前者,因为这是您将从Cloudflare提供的一切中受益的地方。为确保您的域已启用,请确保云以橙色点亮。如果您有其他记录,例如电子邮件(MX记录),这些记录应该关闭Cloudflare(灰色)。验证完所有内容后单击继续。您以后可以随时修改这些记录。

    验证DNS记录

    验证DNS记录

    第 3 步

    在下一页上,您需要选择 Cloudflare 计划。我们建议从适用于大多数用户的免费计划开始。然后点击“继续”。您可以阅读有关Cloudflare 计划差异的更多信息。

    免费Cloudflare计划

    免费Cloudflare计划

    第 4 步

    然后,您需要将域上的名称服务器更改为指向Cloudflare(使用它们提供的名称)。因为Cloudflare是一个完整的代理服务,所以基本上它的工作原理是将您的域指向Cloudflare,然后Cloudflare将您的域指向服务器地址。切换名称服务器时没有停机时间。这里有几个指向不同域名注册商的文档链接,说明如何更改它们。

    然后点击“Continue”。

    更改为Cloudflare的名称服务器

    更改为Cloudflare的名称服务器

    这应该不会花费很长时间,但最多需要24小时才能处理此更改。

    第 5 步

    如果您的站点尚未指向服务器,则需要更新A记录以指向Cloudflare仪表盘中的服务器IP。单击“DNS”并在A名称记录旁边,将其更改为您的服务器的IPv4地址。

    更新Cloudflare A名称记录
    更新Cloudflare A名称记录

    就是这样!您的WordPress网站现在已安装Cloudflare。

    第 6 步(可选)

    对于WordPress用户,我们确实推荐了一个额外的步骤。这不是必需的,但如果您不安装官方Cloudflare插件,Cloudflare的某些功能可能无法正常运行。

    免费的Cloudflare WordPress插件

    免费的Cloudflare WordPress插件

    您可以从WordPress插件库下载它, 也可以在WordPress仪表盘中的“插件-安装插件”下搜索它。它具有以下特点:

    • 修复来自同一IP地址的WordPress评论
    • 自动缓存清除
    • 启用Cloudflare的Universal SSL时重写标头以防止重定向循环
    • 能够从插件本身更改Cloudflare帐户的设置(缓存清除、安全级别、图像优化等)
    • 查看分析,例如总访问者、节省的带宽和阻止的威胁
    • 支持HTTP2/服务器推送

    安装插件后,您需要在设置中输入您的Cloudflare电子邮件地址和API密钥。您可以在此处获取您的API密钥。复制写着“Global API Key”的那个。然后单击“Save API Credentials”。

    Cloudflare WordPress插件API凭据

    Cloudflare WordPress插件API凭据

    在“Home”选项卡下,您可以根据需要应用默认设置或更新设置。

    Cloudflare插件默认设置

    Cloudflare插件默认设置

    在“Setting”选项卡下,如果您使用专业计划,您可以启用图像优化、打开开发模式、更改安全级别并启用自动HTTPS重写。

    Cloudflare插件速度和安全设置

    Cloudflare插件速度和安全设置

    在“Analytics”选项卡下,您可以查看WordPress网站上的请求数量、带宽、访问者和威胁。

    Cloudflare插件分析

    Cloudflare插件分析

    常见的Cloudflare问题

    用户尝试在其WordPress网站上安装Cloudflare时遇到的一个非常常见的错误是Chrome中的“ ERR_TOO_MANY_REDIRECTS ”或“页面未正确重定向”(Firefox)。

    如何在您的WordPress网站上安装Cloudflare-1

    Cloudflare的常见flexible SSL错误

    这是因为已经在您的Web服务器上设置了SSL,然后使用Cloudflare启用了flexible SSL。

    将Cloudflare加密级别设置为Full

    将Cloudflare加密级别设置为Full

    否则,您可以创建页面规则来解决此问题。

    如何清除Cloudflare缓存

    遇到问题?有时您需要清除(清除)Cloudflare缓存。有两种简单的方法可以做到这一点。

    选项 1 – 清除WordPress插件中的Cloudflare缓存

    如果您安装了Cloudflare WordPress插件,您可以从“设置 → Cloudflare”中清除缓存。

    清除WordPress插件中的Cloudflare缓存

    清除WordPress插件中的Cloudflare缓存

    选项 2 – 从控制面板清除Cloudflare缓存

    您的另一个选择是从他们的控制面板中清除Cloudflare缓存。为此,请单击“Caching”选项卡,然后单击“Purge Everything”。

    清除Cloudflare缓存

    清除Cloudflare缓存

    一旦一切就绪并顺利运行,最好只清除单个文件的缓存。Cloudflare提供了一种简单的方法来执行此操作。

    自定义清除文件缓存

    自定义清除文件缓存

    注意:如果您清除所有内容,您可能会暂时降低网站的性能,因为资产必须重新缓存。但是,有时这是不可避免的,尤其是当您不确定站点上的哪些脚本或资产需要刷新时。

    其他Cloudflare设置

    既然您知道如何安装Cloudflare,我们建议您查看我们关于WordPress用户最佳Cloudflare设置的详细帖子。您还可以了解Cloudflare 的自动平台优化 (APO)工具。

  • 如何为WordPress设置Cloudflare APO – 将性能提升高达300%

    如何为WordPress设置Cloudflare APO - 将性能提升高达300%

    对于性能爱好者来说,Cloudflare的APO代表着在最大化WordPress性能方面向前迈出了一大步。

    在我们的基准测试中,我们发现在我们的测试站点上启用APO可以将页面加载时间减少70-300%,具体取决于测试位置。

    在本文中,我们将深入探讨Cloudflare APO的工作原理以及如何使用它来提高WordPress网站的性能!

    1. 什么是自动平台优化 (APO)?
    2. 边缘的静态HTML
    3. 2022年Web性能状况
    4. Cloudflare的自动平台优化如何工作
    5. 使用高性能托管和Cloudflare APO最大限度地提高WordPress性能
    6. 如何为WordPress使用Cloudflare自动平台优化
    7. 如何确认适用于WordPress的Cloudflare APO是否正常工作
    8. 不使用Cloudflare插件的自动平台优化

    什么是自动平台优化 (APO)?

    Automatic Platform Optimization(以下简称APO)是Cloudflare提供的一套新的一键式平台定制优化服务。

    第一个接受“APO待遇”的平台是WordPress,它是全球最受欢迎的CMS,市场份额超过60%。未来,我们希望看到类似的APO服务适用于其他CMS和平台。

    在较高的层面上,Cloudflare的WordPress APO通过两种主要方式提高了网站性能。

    1. WordPress站点页面的静态HTML副本缓存在全球各地的Cloudflare边缘服务器中。
    2. 第三方字体由Cloudflare缓存和提供。

    让我们深入了解一下APO在技术层面上的工作方式和原因。

    边缘的静态HTML

    Cloudflare的APO与其他传统页面缓存和CDN解决方案之间的关键区别在于它能够在Cloudflare的边缘直接缓存静态HTML。为了描绘更清晰的画面,让我们通过从“无优化”到APO的四种不同的WordPress设置。

    WordPress设置 #1 – 无页面缓存或CDN

    默认情况下,WordPress不提供页面缓存或CDN支持。使用此配置,即使请求之间没有更改页面内容,所有请求也需要由PHP动态生成。

    此外,没有内容交付网络 (CDN) 集成意味着所有静态资产(如CSS、JS、图像和字体)都由源服务器提供服务。

    这种配置会使WordPress站点变得非常慢,尤其是对于远离源服务器的访问者而言。

    WordPress设置 #2 – 没有CDN的页面缓存

    实施页面缓存是提高WordPress性能的最佳策略之一。在一些WordPress托管服务器,托管堆栈包括一个高度调整的页面缓存层,由Nginx的FastCGI缓存模块提供支持。

    页面缓存极大地减少了源服务器上的CPU负载,因为可以从缓存中提供请求,而无需生成动态HTML。

    没有CDN的页面缓存

    这可以释放您的CPU以专注于其他重要的动态任务,并使您的WordPress网站更加稳定。虽然此配置可能允许您的站点每秒处理更多请求,但它并不能解决“距离问题”。

    如果没有合适的CDN,向遥远的访问者提供静态资产仍然是一个问题。

    WordPress设置 #3 – 使用CDN进行页面缓存

    到目前为止,添加用于提供静态资产的CDN的页面缓存是托管WordPress网站的最高效方式。

    在这个模型中,源服务器仍然负责为页面提供实际的HTML。但是,CSS文件、图像和字体等静态资产被卸载到世界各地的各种CDN存在点 (PoP)。该模型背后的想法是静态资产,尤其是大图像,构成请求页面大小的大部分. 因此,通过将资产卸载到更靠近访问者的服务器,可以减少加载时间并提高性能。

    使用CDN的全球流量路由

    使用CDN的全球流量路由

    虽然此配置比前两个配置提供了显着改进,但它确实让您想知道如果WordPress性能不再因必须从源服务器提供HTML而成为瓶颈,会发生什么。

    令人惊讶的是,在为WordPress引入Cloudflare的APO之前,这样的设置是不可行的——至少对于非技术用户来说是不可行的。

    WordPress设置 #4 – 适用于WordPress的Cloudflare APO

    Cloudflare APO是世界上最新的WordPress性能优化解决方案。与之前受源站服务器性能限制的WordPress设置不同,启用APO的站点从访问者的角度来看基本上变得“无源”。

    使用Cloudflare APO进行全球流量路由

    使用Cloudflare APO进行全球流量路由

    为此,Cloudflare利用其全球分布的CDN以及Workers/Workers KV来创建您的WordPress站点的静态HTML表示。我们将在本文后面深入了解Cloudflare APO的工作原理。

    现在,只要知道启用了APO的兼容WordPress站点不再受制于来源引起的延迟。换句话说,来自美国、德国和日本的访问者的请求将由附近的数据中心而不是您的源服务器提供服务。

    2022年Web性能状况

    在过去的几年里,专业的Web开发行业发生了很大的变化。越来越多的开发人员正在从WordPress这样的单体架构转向更灵活和高性能的静态站点生成器,比如Hugo和JavaScript框架,比如Gatsby

    我们明智地使用“性能”一词,因为Web性能通常可以被解释为一个主观指标。

    例如,页面的加载时间可能会根据测试位置和一天中的时间而波动。

    因此,一味地说Gatsby静态网站比WordPress网站快是没有任何意义的,直到建立了一些论证的上下文。

    在当今高度连接的世界中,Web性能测试最重要的环境之一是世界不同地区的加载时间。

    这就是静态网站在性能方面优于WordPress的地方。默认情况下,静态站点可以直接上传到全球分布的CDN——这使得它们在全球范围内快速传播,无需任何额外工作。

    由于WordPress站点需要某种类型的源服务器来生成HTML,因此它无法直接利用Netlify、Vercel和Cloudflare自己的Workers Sites等平台进行无摩擦的全球交付。从业务角度来看,这意味着您可能会失去远离原始服务器的潜在访问者和客户,因为Google在生成搜索结果时会考虑页面速度。

    这就是Cloudflare的WordPress APO发挥作用的地方。

    启用Cloudflare APO将WordPress性能提高了300%

    启用Cloudflare APO将WordPress性能提高了300%

    Cloudflare的WordPress自动平台优化是对2022年WordPress性能意味着什么的彻底重新思考。正如我们之前提到的,在我们的测试站点上启用APO可将加载时间从70%减少到300%,具体取决于测试位置。这是可能的,因为APO有效地消除了作为性能瓶颈的源服务器。

    Cloudflare的自动平台优化如何工作

    使用Cloudflare APO,您的WordPress站点的HTML缓存在Cloudflare的全球边缘服务器中。这可以通过Workers KV实现,这是一种分布式键值数据库服务,具有超快的全局传播(不到60秒)。

    当数据通过Cloudflare API写入Workers KV时,它会在几秒钟内自动复制到全球150多个Cloudflare数据中心。

    这使得Workers KV成为加速WordPress网站的主要候选者,因为文章和页面可以很容易地用键值机制表示——URL是“键”,HTML页面内容是“值”。

    在Cloudflare Workers KV中存储为键值对象的网页

    在Cloudflare Workers KV中存储为键值对象的网页

    为您的WordPress站点启用APO后,对您站点的大多数请求将不再访问您的源服务器。

    相反,请求将从本地Cloudflare CDN缓存(如果缓存页面存在)或Workers KV(如果缓存页面在Cloudflare的CDN上不存在)提供。

    如果CDN缓存或Workers KV数据库中不存在页面,则Cloudflare将向您的源服务器发出单个请求并缓存新页面的HTML。

    这里的神奇之处在于Cloudflare Workers KV充当您的源服务器的某种分布式镜像。回想一下,存储在Workers KV中的数据会在Cloudflare的整个服务器网络中自动复制。

    这意味着即使您运行WordPress的源服务器位于美国某处,来自日本的访问者的请求也不需要访问您的源服务器来启动本地CDN缓存区域。

    相反,来自日本的访问者将获得来自附近Cloudflare数据中心的Workers KV数据库或CDN缓存的缓存HTML。

    这种新的交付模型与以前为WordPress缓存HTML页面的尝试大不相同。 

    以前,最流行的“整页缓存”方法涉及创建Cloudflare页面规则来“缓存所有内容”。虽然这种方法可以显着提高性能,但它并不是一种非常有效的缓存方法,因为它依赖于“拉”模型而不是Workers KV的“推”模型,后者会自动在全球范围内推送HTML。

    通过上一页基于规则的设置,访问美国Cloudflare缓存区的访问者不会为其他位置的访问者缓存资产——这意味着从全球内容交付的角度来看,网站无法有效利用Cloudflare的网络。

    自动平台优化通过缓存第三方字体更进一步。在许多情况下,字体最终会占据页面请求大小的很大一部分。

    与通常从根域提供的CSS、JS和图像不同,字体通常来自第三方服务,如Google Fonts。这意味着Cloudflare等基于代理的缓存服务无法缓存字体和提供字体。

    由于APO由Cloudflare Worker(位于源服务器和访问者之间的可编程JavaScript服务工作者)提供支持,因此可以注入额外的逻辑来完成基本缓存之外的任务。

    在这种情况下,APO使用Cloudflare Worker来缓存第三方字体并使用内联CSS修改页面的HTML,以指向Cloudflare CDN上的缓存字体。这消除了获取字体的额外外部请求的需要,并减少了服务页面所需的连接数量和加载时间。

    最后,由于APO通过WordPress插件与您的站点集成,因此每当您更新站点上的页面时,都会自动清除Cloudflare缓存。这可确保访问者始终能够看到您网站的最新版本,而无需任何人工干预。

    使用高性能托管和Cloudflare APO最大限度地提高WordPress性能

    然而,Cloudflare APO并不是灵丹妙药。选择以性能为中心的WordPress主机仍然非常重要,主要有两个原因。

    1. Cloudflare APO仅缓存未登录用户的前端页面。与服务器级页面缓存配置类似,APO不会缓存具有特定cookie和已登录用户的页面。这意味着原始服务器性能仍然是等式的关键部分。
    2. 出色的WordPress体验不仅仅包括快速的前端性能。由于WordPress本质上是一个动态CMS,因此在运营WordPress网站时需要考虑许多因素。

    这里有四个用例展示了为什么即使您使用Cloudflare APO仍应选择高性能WordPress主机。

    1. WooCommerce, Easy Digital Downloads和电子商务

    当检测到某些与电子商务相关的cookie时,Cloudflare APO会选择性地绕过缓存。例如,当访问者在WooCommerce网站上将商品添加到购物车时,WordPress会自动设置woocommerce_items_in_cart cookie。当检测到此cookie时,APO会绕过缓存以避免缓存和提供客户特定的数据。因此,即使启用了自动平台优化,WooCommerce和其他基于WordPress的电子商务平台仍将严重依赖原始服务器的性能。

    2. WordPress仪表盘性能

    由于Cloudflare APO不会为登录用户缓存HTML,因此在WordPress仪表盘中导航将始终完全依赖于您的源服务器性能。如果您没有使用性能优化的主机,那么在您的WordPress网站上编写和发布内容、管理图像和其他媒体资产以及运行维护例程等任务可能会变成非常缓慢的体验。这会对您的业务成果产生直接的负面影响。

    3. WordPress会员网站和论坛

    如果您使用Ultimate Membership Pro之类的插件来管理您的WordPress会员网站,或者使用bbPress来支持WordPress论坛,Cloudflare APO将无法优化您的大部分流量。由于会员网站和论坛通常需要用户登录,Cloudflare APO将自动绕过这些用户的HTML缓存。因此,使用高性能主机仍然是WordPress会员网站和论坛保持快速用户体验的最佳方式。

    4. WordPress Cron作业

    WordPress cron (WP-Cron)可帮助您在WordPress网站上安排和自动化后端任务。您的站点可能会使用cron作业在特定时间发布文章。像这样的简单任务在CPU资源方面不需要太多,但其他任务可能会占用更多资源。例如,使用备份插件每12小时自动将您的WordPress站点备份到ZIP存档之类的任务会占用更多CPU。

    由于Cloudflare APO仅有助于优化前端内容,因此您仍需要将站点托管在高性能主机上,以最大限度地提高后端任务的性能和登录用户体验。

    如何为WordPress使用Cloudflare自动平台优化

    既然我们已经讨论了为什么Cloudflare WordPress自动平台优化会改变游戏规则,那么让我们来看看如何将服务添加到您的WordPress网站。

    APO适用于Cloudflare免费和付费计划。对于免费的Cloudflare用户,需要额外支付5美元/月的APO费用。如果您在Cloudflare上使用Pro、Business或Enterprise计划,则可以免费启用APO。

    以下是开始使用Cloudflare APO所需的操作:

    1. 在Cloudflare仪表盘中创建API令牌。
    2. 安装官方Cloudflare WordPress插件。
    3. 启用自动平台优化。

    1. 创建Cloudflare API令牌

    在启用APO之前,您需要先生成API令牌并安装Cloudflare WordPress插件。要生成API令牌,请单击Cloudflare仪表盘右上角的个人资料图标,单击“My Profile”,选择“API Tokens”选项卡,然后单击Create Token

    创建Cloudflare API令牌

    创建Cloudflare API令牌

    在“API Token Templates”下,单击WordPress选项旁边的Use Template

    选择WordPress API令牌模板

    选择WordPress API令牌模板

    “WordPress”模板将生成一个具有必要权限的API令牌,以允许自动平台优化正常运行。默认设置是您开始使用APO所需的全部,但如果您需要将API令牌锁定到特定用户或区域,请随意调整“Account Resources”和“Zone Resources”设置。

    完成令牌参数配置后,向下滚动并单击Continue to Summary

    配置Cloudflare API令牌参数

    配置Cloudflare API令牌参数

    最后,单击Create Token以完成该过程。

    确认Cloudflare API令牌的创建

    确认Cloudflare API令牌的创建

    请务必将API令牌复制到安全位置。稍后安装Cloudflare WordPress插件时将需要它。将API令牌记录在密码管理器等安全位置后,请随时关闭页面。

    在安全的地方记录您的Cloudflare API令牌

    在安全的地方记录您的Cloudflare API令牌

    2. 安装Cloudflare WordPress插件

    Cloudflare WordPress插件可以直接从WordPress插件库安装。要找到它,请在WordPress仪表盘中搜索“Cloudflare”。请务必安装官方Cloudflare插件,而不是“WP Cloudflare Super Page Cache”,这是第一个搜索结果。

     

    安装官方Cloudflare WordPress插件

    安装官方Cloudflare WordPress插件

    接下来,转到WordPress仪表盘侧边栏中的设置 > Cloudflare,然后单击“Sign in Here”。

    登录您的Cloudflare帐户

    登录您的Cloudflare帐户

    输入与您的Cloudflare帐户关联的电子邮件地址以及您之前生成的API令牌。单击Save API Credentials以完成登录过程。

    输入您的电子邮件地址和Cloudflare API令牌

    输入您的电子邮件地址和Cloudflare API令牌

    现在Cloudflare WordPress插件已全部设置完毕,让我们前往Cloudflare仪表盘以启用自动平台优化。

    3. 在Cloudflare中启用自动平台优化

    Cloudflare Pro、Business和Enterprise计划中包含WordPress的自动平台优化,无需额外费用。如果您使用免费的Cloudflare计划,则APO附加组件每月5美元。要启用APO,请转到Cloudflare仪表盘中的Speed > Optimization

    启用APO

    要启用APO,请导航到Speed > Optimization

    向下滚动到“Optimized Delivery”部分,并启用“Automatic Platform Optimization for WordPress”。如果您使用的是免费计划,Cloudflare将在此期间提示您提供账单详细信息。启用APO后,您应该会看到一条消息“WordPress plugin successfully detected on [your domain]”。如果您没有看到此消息,我们建议您重新安装Cloudflare插件或联系Cloudflare支持以获得进一步帮助。

    在Cloudflare仪表盘中为WordPress启用自动平台优化

    在Cloudflare仪表盘中为WordPress启用自动平台优化

    在您的WordPress仪表盘中,转到侧栏中的设置 > Cloudflare。单击“Apply Recommended Cloudflare Settings for WordPress”旁边的Apply按钮——这将优化您的WordPress的Cloudflare设置最后,确保在插件设置中也启用了“Automatic Platform Optimization”。

    Cloudflare WordPress插件设置

    Cloudflare WordPress插件设置

    如何确认适用于WordPress的Cloudflare APO是否正常工作

    此时,Cloudflare自动平台优化应该在您的站点上处于活动状态!以下是确认APO是否正常工作的方法。首先,确保为您的WordPress站点的域启用了Cloudflare的DNS选项卡中的橙色云。如果未启用橙色云,Cloudflare将不会为您的域代理流量——这意味着APO将无法正常工作。

    确认Cloudflare橙色云已启用

    确认Cloudflare橙色云已启用

    如何使用浏览器检查器检查Cloudflare APO缓存状态

    接下来,您可以使用Web浏览器的内置检查器检查对您网站的请求的HTTP标头。我们将在下面的示例中使用Google Chrome。首先,在隐身模式下启动一个新的浏览器窗口。

    在Google Chrome中启动一个新的隐身窗口

    在Google Chrome中启动一个新的隐身窗口

    接下来,转到您的WordPress站点,右键单击该页面,然后选择“Inspect”以打开浏览器检查器。您还可以通过转到Chrome更多按钮菜单栏中的更多工具 > 开发者工具来访问检查器单击对您的域的请求(下例中的brianwp.com)。在子菜单中,单击“Headers”以显示HTTP响应标头。

    使用浏览器检查器检查Cloudflare缓存状态

    使用浏览器检查器检查Cloudflare缓存状态

    启用APO后,您应该会看到一些与APO相关的标头。

    • cf-apo-via指示从何处提供请求。此标头有几个可能的值——“origin, no-cache”、“origin, bypass”和“cache”。如果您看到此标头的“origin, no-cache”值,则表示源服务器已向Cloudflare发送了“Cache-Control: no-cache”标头。“origin, bypass” 值表示Cloudflare的HTML缓存被绕过,请求是从源端提供的。最后,“cache”值表示请求是从Cloudflare的缓存中提供的。
    • cf-cache-status指示页面是否从Cloudflare的CDN提供。刷新页面几次后,您应该会看到“HIT”状态。如果您的cf-cache-status标头在几次刷新后显示“DYNAMIC”,则可能是由于配置错误或与cookie相关的不兼容而绕过了APO。
    • cf-edge-cache根据来自您的原始服务器的缓存指令指示页面的缓存兼容性。此标头有两个可能的值——“no-cache”和“cache, platform=wordpress”。当使用Cloudflare WordPress插件正确配置APO时,此标头将为不应缓存的页面返回“no-cache”,为可缓存的页面返回“cache, platform=wordpress”。
    • age表示页面在Cloudflare的CDN中缓存的秒数。

    如果您在检查WordPress站点时看到上面的标头,则表示APO已全部设置。现在,继续进行速度测试,看看您的网站有多快!

    如何使用curl检查Cloudflare APO缓存状态

    您还可以在终端中使用下面的curl命令确认Cloudflare APO是否正常工作。请注意,该命令传递了一个“Accept: text/html”标头。这是检查APO缓存状态时所必需的。

    curl --request GET -I -H "Accept: text/html" https://www.website.com

    运行命令后,您应该会看到如下所示的响应标头列表。如您所见,cf-cache-statuscf-apo-viacf-edge-cacheage标头显示请求由Cloudflare的缓存提供服务。

    使用curl检查Cloudflare APO缓存状态

    使用curl检查Cloudflare APO缓存状态

    不使用Cloudflare插件的APO自动平台优化

    Cloudflare建议将自动平台优化与官方Cloudflare WordPress插件一起使用。这也是我们建议的方法,因为它可以确保您从APO中获得最大的性能优势。如果您的网站与Cloudflare WordPress插件不兼容,我们建议您与开发人员合作以使您的网站兼容。

    如果您真的无法安装Cloudflare插件,则可以在没有插件的情况下使用APO。如果您选择这条路线,您仍然可以利用一些性能优化,但有几个重要的限制需要注意。

    带有WordPress插件的Cloudflare APO

    安装Cloudflare WordPress插件后,自动平台优化提供以下HTML边缘缓存功能。

    • 具有30天TTL的HTML边缘缓存。
    • 文章发布或更新后30秒内缓存失效。
    • 为登录用户绕过HTML缓存。
    • 绕过某些cookie(如WooCommerce)的HTML缓存。
    • 如果可以从Cloudflare的CDN提供页面,则跳过对源服务器的请求。这减少了源服务器上的负载。

    没有WordPress插件的Cloudflare APO

    如果未安装Cloudflare WordPress插件,您可能会看到以下APO HTML边缘缓存功能。

    • 具有30天TTL的HTML边缘缓存。
    • 缓存在30分钟内失效(而不是30秒)
    • 绕过某些cookie(如WooCommerce)的HTML缓存。
    • 为了提供正确的缓存失效逻辑,仍然需要向源服务器发出请求。

    如您所见,将自动平台优化与官方Cloudflare WordPress插件一起使用有几个优点。

    小结

    WordPress的Cloudflare自动平台优化无疑是近期历史上提升WordPress性能的最重要服务。它超越了通常的Web服务器优化、服务器端页面缓存和CSS/JS缩小策略,并呈现了一些全新的东西。

    自成立以来,WordPress一直受到以下事实的限制:在CDN上缓存HTML页面没有一种简化且简单的方法。通过利用其由150多个数据中心、Workers和Workers KV组成的网络,Cloudflare在WordPress站点和采用尖端框架设计的静态站点之间拉平了性能竞争环境。

    这是一项不小的壮举,我们期待看到Cloudflare在未来如何将其自动平台优化功能扩展到其他CMS平台

  • 如何为WordPress网站正确地配置Cloudflare

    如何为WordPress配置Cloudflare

    通过在您的站点前充当反向代理,Cloudflare是一种一体化的安全和性能产品,被全球超过12%的网站使用。作为WordPress 用户,将Cloudflare添加到您的网站有助于提高网站性能并减少恶意机器人和黑客的影响。

    正确配置后,对您站点的所有请求将首先到达Cloudflare服务器,然后该服务器将确定是否应将请求转发到源服务器、从缓存中提供服务、阻止或使用自定义规则进行处理。

    在本指南中,我们将深入探讨WordPress的最佳Cloudflare设置,讨论缓存和安全设置,并向您展示如何为WordPress多站点安装配置Cloudflare 。

    1. 如何为WordPress配置Cloudflare
    2. Cloudflare WordPress插件
    3. WordPress的Cloudflare自动平台优化
    4. Cloudflare Argo和Railgun
    5. 如何为WordPress多站点配置Cloudflare

    如何为WordPress配置Cloudflare

    Cloudflare提供了多种安全和性能优势,但并非所有这些优势都与WordPress完全兼容。让我们深入了解Cloudflare的设置,以确定适合您的WordPress网站的最佳功能。

    1. SSL
    2. 速度
    3. 缓存
    4. 防火墙

    SSL

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

    • Off –不加密。
    • Flexible –仅加密浏览器和Cloudflare之间的连接。
    • Full –端到端加密,但允许在源服务器上使用自签名证书。
    • Ful (Strict) –端到端加密,需要来自Cloudflare的免费原始证书或来自受信任CA(证书颁发机构)的证书。我们建议使用Full (Strict)  SSL模式以获得最大的安全性。

    对于希望在其WordPress网站上使用Cloudflare的用户,我们建议在宝塔面板中生成免费的Let’s Encrypt SSL证书,并在Cloudflare中使用Full或Full (Strict) 选项。

    或者,您还可以生成Cloudflare原始证书以安装在您的原始服务器上。如果您的主机不提供免费的SSL证书,则在您的服务器上安装Cloudflare原始证书将允许您使用Full (Strict) SSL模式。

    如果您使用在子域上托管站点,而根域使用Cloudflare的Flexible SSL,则可以使用Cloudflare页面规则强制子域使用Full或Full (Strict)  SSL。

    为具有Cloudflare页面规则的子域启用Full (Strict)  SSL

    为具有Cloudflare页面规则的子域启用Full (Strict)  SSL

    此选项允许您使用Cloudflare的Flexible SSL,同时确保子域的Cloudflare Full (Strict) SSL。

    始终使用HTTPS

    我们建议启用此选项以自动将所有HTTP请求转发到HTTPS

    HSTS

    HSTS代表“HTTP Strict Transport Security”,用于强制Web浏览器使用安全的HTTPS连接。在Cloudflare上启用HSTS可确保HTTP请求永远不会到达您的源服务器。如果您的站点已设置为使用HTTPS,我们建议您也在源服务器上配置HSTS

    最低TLS版本

    TLS(传输层安全性)是一种加密协议,允许通过网络安全传输数据。默认情况下,Cloudflare为协议版本设置TLS 1.0。某些安全标准(例如 PCI DSS 3.2)需要更新版本的TLS协议以实现合规性。如果您的站点需要某个TLS版本,您可以通过转到SSL/TLS > Edge Certificates > Minimum TLS Version来更改设置。

    自动HTTPS重写

    此功能检查HTML代码中的HTTP资源URL以查看它们是否可通过HTTPS访问。如果是这样,它们将使用HTTPS变体自动重写。自动HTTPS重写对于确保没有混合内容错误的安全浏览体验非常有用。

    速度(Speed)

    大多数与性能相关的Cloudflare设置,例如资产缩小和图像优化,都可以在“Speed”选项卡中找到。

    图像大小调整(仅限商业计划)

    Cloudflare的图像大小调整功能仅适用于商业计划用户。在您的WordPress主题中正确实施后,此功能可用于将图像缩略图生成offload到Cloudflare。与WordPress中的内置缩略图生成功能相比,这有几个好处。

    对于动态生成图像大小的站点,使用Cloudflare的图像大小调整功能可以降低CPU使用率——这允许您的站点在不增加CPU资源的情况下为更多并发用户提供服务。Cloudflare图像大小调整还有助于减少磁盘空间使用,因为缩略图不必存储在服务器上。

    Cloudflare图像大小调整通过在图像前添加端点来工作。请看下面的示例,该示例显示了该功能的工作原理。

    原始图片网址

    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

    可以调整“宽度”参数以动态生成不同的缩略图大小,而无需在源服务器上增加任何额外的资源负载。如果您正在寻找类似于Cloudflare的图像大小调整功能的独立服务,Imgix和Cloudinary是不错的选择。

    不要忘记查看我们关于优化网络图像的深入指南。

    Polish(仅限专业版)

    Cloudflare Polish是一种图像优化服务,可自动压缩JPG、PNG、GIF和其他图像文件。图像在Cloudflare边缘处理,这意味着托管WordPress站点的服务器没有性能负担。Polish还支持Google的WEBP格式 ——这意味着优化的WEBP图像将自动提供给支持该格式的Chrome、Brave和其他浏览器。

    出于几个原因,Polish是WordPress网站的一项有用功能。如果您使用的是ShortPixelImagify等图像优化插件,Polish可以显着降低服务器的CPU使用率——这可以为访问者带来更稳定的浏览体验。由于Polish的图像是在服务器外存储和缓存的,因此您不必担心用尽磁盘空间来存储图像的WEBP版本。

    Auto Minify

    Cloudflare的Auto Minify功能会自动缩小缓存的CSS、JSS和HTML资产。如果您不使用AutoptimizeWP-Rocket等WordPress插件来缩小资产,我们建议您在Cloudflare中启用自动缩小功能。

    Brotli

    Brotli是GZIP的替代方案,GZIP是一种压缩算法,可在将Web请求提供给访问者之前减小它们的大小。与GZIP相比,Brotli提供了更高的压缩比,这意味着用户的页面加载速度更快。问题是并非所有的网络浏览器都支持Brotli压缩。无论如何,我们建议启用Cloudflare的Brotli功能,因为来自不受支持的浏览器的请求只会退回到GZIP压缩。

    增强的HTTP/2优先级(仅限专业版)

    HTTP/2的引入通过并行化和多路复用为网站带来了显着的性能提升。Cloudflare增强的HTTP/2优先级功能更进一步,它通过智能解析您网站的HTML来确定加载资产的顺序以获得最佳性能。根据Cloudflare的说法,增强的HTTP/2优先级可以将页面加载时间减少多达50%。

    Mirage(仅限专业版)

    Mirage是一项针对移动和低带宽连接的图像优化功能。启用Mirage后,在初始页面加载期间,图像将替换为低分辨率占位符。页面加载后,全分辨率图像被延迟加载。

    Mirage还能够将多个图像请求组合成一个请求,从而减少完全加载页面所需的往返次数。如果您的网站使用大量图片并针对移动设备较多的人群,Cloudflare Mirage可以对性能产生积极影响。

    Rocket Loader

    Rocket Loader是一项通过异步加载JavaScript资源来加快加载时间的功能。这有效地减少了页面的渲染阻塞内容,从而加快了页面加载时间。我们建议您在启用Rocket Loader的情况下测试您的网站,看看它是否能提高您的页面速度。如果您的WordPress站点依赖于以特定顺序加载的JavaScript资产,您可以通过向脚本标签添加属性data-cfasync="false"来绕过Rocket Loader。

    缓存(Caching)

    默认情况下,Cloudflare会缓存CSS 、JS和图像文件等静态资产。请注意,默认情况下,Cloudflare不会缓存您网站生成的HTML。

    缓存级别

    我们建议将缓存级别保留为“Standard”,这允许使用唯一查询字符串访问资产的更新版本。

    浏览器缓存有效期

    如果你的服务器本身已经设置了浏览器缓存有效期,我们建议将浏览器缓存过期设置设置为“Respect Existing Headers”。如果您想用更短的过期时间覆盖此设置,请随时更改此设置。

    防火墙(Firewall)

    如果您的主机不提供可自定义的防火墙,Cloudflare的免费计划包括一个允许五个自定义规则的基本防火墙。防火墙规则可以配置为阻止特定的IP地址、用户代理、请求方法、HTTP引用,甚至国家。

    例如,如果您发现您的WooCommerce商店从目标市场以外的国家/地区收到大量虚假订单,您可以使用Cloudflare的免费防火墙来阻止来自整个国家/地区的流量。

    Cloudflare的Pro计划具有更强大的Web应用程序防火墙 (WAF)。WAF提供专门的托管规则集,有助于进一步保护您的站点。例如,有一些针对WordPress和PHP站点的规则集。

    用于WordPress的Cloudflare托管规则集

    用于WordPress的Cloudflare托管规则集

    对于大多数WordPress网站,Cloudflare的免费计划提供的安全级别就足够了。但是,如果您正在运行需要更多保护的任务关键型业务站点,Cloudflare的专业级WAF和托管规则集可以帮助进一步保护您的站点。

    (推荐阅读:Sucuri vs Wordfence

    网络(Network)

    在Cloudflare的“Network”设置中,我们建议启用HTTP/2、HTTP/3(使用QUIC)和0-RTT连接恢复。

    正如我们前面提到的,HTTP/2通过并行化和多路复用为HTTP/1.1带来了一些改进。类似地, HTTP/3通过使用称为QUIC的新的基于UDP的协议而不是传统的TCP,进一步扩展了HTTP/2的性能

    启用HTTP/2、HTTP/3和0-RTT连接恢复

    启用HTTP/2、HTTP/3和0-RTT连接恢复

    安全的HTTP/3连接还受益于优化的握手例程,从而缩短了连接时间。在Cloudflare仪表盘中启用HTTP/3后,受支持的客户端将能够使用HTTP/3连接到Cloudflare服务器。

    最后,Cloudflare的0-RTT连接恢复功能缩短了之前连接到您网站的访问者的加载时间。

    页面规则(Page Rules)

    Cloudflare的页面规则功能允许您自定义特定URL的设置。页面规则对于禁用某些资产的缓存、更改所选页面的安全级别等很有用。Cloudflare页面规则有两个关键组件——URL匹配模式和对匹配的URL执行的操作。在下面的屏幕截图中,您可以看到将www URL重定向到非www版本的Cloudflare页面规则。

    Cloudflare转发URL页面规则

    Cloudflare转发URL页面规则

    此规则匹配以 www.brianonwp.com开头的URL。请注意星号字符的包含,它允许您创建通配符匹配模式。把星号想象成“这里的任何东西”。在URL模式下,您可以看到该页面规则配置为301将所有匹配的请求重定向到https://brianonwp.com/$1,其中“$1”是指匹配模式中的“第一个通配符”。

    使用像这样的页面规则,请求www.brianli.com/specific-page/将被重定向到brianli.com/specific-page/.

    使用Cloudflare页面规则,您可以将特定设置应用于任何匹配的URL。查看下面可应用于页面规则的设置列表。某些设置甚至可以组合成一个页面规则!

    • Always Online –启用或禁用Cloudflare的“Always Online”功能,如果发现原始服务器离线,该功能会提供页面的静态HTML副本。
    • Always Use HTTPS –对匹配的URL强制使用HTTPS。
    • Auto Minify –启用或禁用HTML、CSS和JS缩小。
    • Automatic HTTPS Rewrites –启用将HTML中的HTTP URL重写为HTTPS版本。
    • Browser Cache TTL –指定匹配URL上的浏览​​器缓存TTL。例如,您可以为不同类型的文件设置不同的浏览器缓存TTL。
    • Browser Integrity Check –启用或禁用Cloudflare的“Browser Integrity Check”功能,该功能检查HTTP标头以清除机器人和恶意流量。
    • Cache Deception Armor –启用或禁用Cloudflare的“Cache Deception Armor”功能,该功能通过确保资产的文件扩展名与其“Content-Type”匹配来防止Web缓存欺骗攻击
    • Cache Level –配置匹配URL的缓存级别。
    • Disable Apps –禁用Cloudflare应用程序集成以匹配URL。
    • Disable Performance –禁用匹配URL的性能相关功能。
    • Disable Railgun –禁用Railgun以匹配URL。
    • Disable Security –禁用匹配URL的安全功能。
    • Edge Cache TTL –指定边缘缓存TTL(资产在Cloudflare的边缘网络上缓存的时间量)。
    • Email Obfuscation –启用或禁用Cloudflare的电子邮件混淆脚本,该脚本通过扰乱电子邮件地址来减少成功的机器人抓取。
    • Forwarding URL –创建一个301或302重定向到另一个URL。
    • IP Geolocation Header –启用或禁用Cloudflare的IP地理位置HTTP标头。
    • Opportunistic Encryption –允许客户端通过安全的TLS通道访问HTTP URL。
    • Origin Cache Control –指定您希望Cloudflare如何响应源服务器的“Cache-Control”指令。
    • Rocket Loader –在匹配的URL上启用或禁用Rocket Loader。
    • Security Level –指定匹配URL的安全级别。
    • Server Side Excludes –<!--sse-->启用或禁用Cloudflare的“服务器端排除”功能,该功能可让您通过在标签中包装HTML来隐藏可疑流量中的敏感信息。
    • SSL –指定匹配URL的SSL级别(disabled, flexible, full, or full strict)。

    Cloudflare WordPress插件

    Cloudflare团队维护一个官方的WordPress插件。虽然这个插件不是绝对要求,但它确实提供了一些不错的功能,包括WordPress优化的Cloudflare设置、WordPress特定的安全规则集、自动缓存清除、HTTP/2服务器推送等。

    Cloudflare WordPress插件设置

    Cloudflare WordPress插件设置

    WordPress的Cloudflare自动平台优化

    Cloudflare的WordPress自动平台优化 (APO)是针对WordPress网站的专用性能优化服务。Cloudflare APO的工作原理是直接在Cloudflare边缘网络上缓存您的WordPress站点的HTML页面。这是对CDN上静态资产(CSS、JS、图像等)的典型缓存的一大飞跃。在我们的基准测试中,我们发现启用Cloudflare APO会导致性能提高70-300%,具体取决于测试位置。

    Cloudflare APO for WordPress通过将页面的HTML副本存储在Workers KV中来工作,Workers KV是一种全球分布的键值存储服务。启用APO后,对您站点的请求将由Workers KV或Cloudflare的边缘缓存而不是您的源服务器提供服务。这是WordPress性能领域向前迈出的一大步,因为有了APO,WordPress站点不再受源服务器位置的限制。

    在Cloudflare仪表盘中为WordPress启用自动平台优化

    在Cloudflare仪表盘中为WordPress启用自动平台优化

    以前,使用传统的CDN设置,HTML页面仍然必须由源服务器提供服务。例如,如果您网站的源服务器位于美国,则来自伦敦的访问者必须等待从美国发送的HTML文档。使用APO,HTML和其他静态资产由靠近伦敦的Cloudflare数据中心提供。

    Cloudflare APO与传统博客、新闻站点、登录页面和其他不依赖动态功能的站点(WooCommerce商店、论坛等)最兼容。APO会自动绕过Cloudflare对登录用户和包含某些cookie的页面(例如WooCommerce)的HTML缓存。APO作为Cloudflare Pro、Business和Enterprise计划的免费服务提供。对于免费的Cloudflare用户,APO是每月5美元的附加组件。

    如果您有兴趣了解有关Cloudflare APO的更多信息,请在此处查看我们的深入指南

    Cloudflare Argo和Railgun

    Cloudflare提供额外的性能产品,可能有助于进一步提升您的WordPress网站的性能。这些功能需要支付额外费用,但如果您想在网站优化方面加倍努力,它们可能值得一看。

    Argo

    Argo是一项Cloudflare附加服务,可为您的网站提供“智能路由”。启用Argo后,流量将围绕Cloudflare网络中的拥塞区域进行路由。在我们的测试中,Argo将页面加载时间减少了20-30%。如果您是Cloudflare用户,希望在性能优化方面更加努力,那么试用Argo可能会产生积极的结果。

    Railgun

    Cloudflare的Railgun是一种WAN产品,可在您的服务器和Cloudflare的服务器之间建立安全隧道。Railgun旨在通过仅提供请求之间的整体差异来加速未缓存内容的交付。例如,如果页面A和页面B具有相同的页眉和页脚结构,但正文内容不同,Railgun会意识到这一点,并仅通过高度压缩的二进制数据流来处理差异。

    Railgun仅适用于Cloudflare的商业和企业计划,并且需要您的网络主机在您站点的服务器上安装其他软件。对于大多数用户来说,使用Cloudflare保持快速加载时间不需要Railgun加速。但是,如果您正在运行无法缓存的高流量WooCommerce商店或论坛,Railgun可能有助于提高您的网站速度。

    如何为WordPress多站点配置Cloudflare

    如果您将Cloudflare与WordPress多站点一起使用,则在设置时应考虑一些特殊注意事项。

    SSL设置

    为了演示适用于WordPress多站点的Cloudflare SSL设置,我们创建了一个测试子域多站点,因为如果您使用子目录多站点,您应该不会遇到任何SSL问题。

    这是我们的测试子域WordPress多站点的结构:

    • 主站点 – brianwp.com和www.brianwp.com
    • 子站点 1 – site1.brianwp.com
    • 子站点 2 – site2.brianwp.com

    首选,我们需要为多站点添加了域。

    同样,域已在Cloudflare中配置了适当的A记录。Cloudflare代理也已启用,如橙色云图标所示。

    WordPress多站点的Cloudflare DNS记录

    WordPress多站点的Cloudflare DNS记录

    要在Ful (Strict) SSL模式下使用Cloudflare,所有关联的域都必须存在于源服务器的SSL证书上。有两种方法可以做到这一点。

    让我们加密或付费SSL

    如果您的主机支持免费的Let’s Encrypt SSL,请继续生成涵盖所有多站点域的SSL证书。

    在宝塔面板上,你可以轻松生成涵盖所有域的SSL证书。

    在宝塔面板中为您的多站点生成SSL证书

    在宝塔面板中为您的多站点生成SSL证书

    Cloudflare Origin SSL证书

    或者,您可以生成涵盖多站点域的Cloudflare Origin SSL证书。要生成原始证书,请导航到SSL/TLS > Origin Server,然后单击“Create Certificate”。

    生成Cloudflare原始证书

    生成Cloudflare原始证书

    原始证书生成菜单分为三个部分。在第一部分中,选择“Let Cloudflare generate a private key and a CSR”,除非您有特定理由提供自己的凭据。

    在第二部分中,输入SSL证书需要覆盖的域和子域。您只能为Cloudflare帐户中的域生成证书。

    最后,在第三部分,选择证书有效期。

    设置包含所有多站点域的正确SSL证书后,您将能够在推荐的Full (Strict)  SSL模式下使用Cloudflare。如果您将来需要向多站点添加其他域或子域,请务必生成涵盖其他域的新SSL证书。

    WordPress多站点的页面规则

    Cloudflare的其他安全和性能功能全局适用于您的根域下的所有子域。换句话说,如果我们的主站点brianwp.com启用了CSS缩小,那么site1.brianwp.com和site2.wpbrianli.com也将启用它。

    在某些情况下,此默认行为可能会导致问题。例如,您可能不想仅仅因为它与单个子站点不兼容而全局禁用HTML、CSS和JS优化。要解决此问题,您可以使用自定义页面规则有选择地禁用特定子域的功能。

    在下面的示例中,我们设置了一个针对*site2.brianwp.com/*页面规则. *字符用于指定通配符行为。您可以将其*视为“这里的任何东西”。

    对于此页面规则,我们禁用了HTML、CSS和JS的自动缩小,禁用了Rocket Loader,绕过了Cloudflare缓存,并关闭了自动HTTPS重写。

    创建选择性Cloudflare页面规则以定位WordPress子网站

    创建选择性Cloudflare页面规则以定位WordPress子网站

    如果您使用Cloudflare的免费计划,请注意它仅附带三个页面规则。如果您需要对多个子站点进行选择性调整,则需要升级到Pro计划或购买额外的页面规则

    小结

    了解如何为您的WordPress网站配置Cloudflare以及如何与您的托管堆栈正确集成可以对您的网站速度和安全性产生积极影响。

  • 如何在WordPress中设置W3 Total Cache连接CloudFlare CDN?

    设置W3 Total Cache连接CloudFlare CDN

    W3 Total Cache (W3TC) 是您的WordPress网站的顶级缓存插件之一。它将通过流行服务的CDN支持帮助您进行开箱即用的缓存和缩小。另一方面,CloudFlare是Bluehost和SiteGround等大多数托管公司提供的免费CDN。结合缓存和 CDN 的强大功能来提高站点的速度是一个好主意。

    在本文中,让我们讨论如何在WordPress站点中设置W3TC以连接CloudFlare CDN。

    需要准备什么?

    您需要以下东西才能将CloudFlare和W3TC连接起来:

    配置W3TC以连接CloudFlare CDN

    W3 Total Cache不提供CloudFlare CDN设置的任何默认设置。事实上,它推荐StackPath的MaxCDN,这是WordPress用户的另一个流行的CDN选项。您必须在W3TC中启用扩展才能使用CloudFlare。

    安装CloudFlare扩展

    登录到您的WordPress管理面板并导航到“Performance > Extensions”部分。在这里,您将找到W3TC的所有可用扩展并激活CloudFlare扩展。

    为W3TC激活CloudFlare扩展

    为W3TC激活CloudFlare扩展

    激活后,单击“Settings”链接转到CloudFlare设置。首先,您应该将您的CloudFlare帐户与W3TC连接并验证连接。

    使用W3TC对CloudFlare进行身份验证

    使用W3TC对CloudFlare进行身份验证

    单击“Authorize”按钮,系统将提示您输入CloudFlare帐户中的API密钥。

    在CloudFlare帐户中获取API密钥

    登录到您的CloudFlare帐户并导航到您的帐户设置。向下滚动到“API Key ”部分,然后单击“View API Key ”按钮对“Global API Key ”。将API密钥复制到剪贴板。

    从CloudFlare获取Global API Key

    从CloudFlare获取Global API Key

    连接CloudFlare和W3TC

    现在回到WordPress管理面板并在W3TC授权框中输入API密钥。

    在W3TC授权框中输入CloudFlare API Key

    在W3TC授权框中输入CloudFlare API Key

    单击“Next”按钮,您应该会看到该区域作为您在CloudFlare帐户中激活的域名。

    在W3TC中查看区域信息

    在W3TC中查看区域信息

    现在您已成功连接CloudFlare和W3TC。点击“Next”按钮进入完整设置页面。

    配置CDN设置

    CloudFlare中的所有现有设置都应默认显示。您还将获得W3TC的其他设置以优化缓存。在这里,我们将展示一些您应该注意的重要设置。

    通用设置

    在“General”部分下,您可以启用缓存时间和页面缓存选项。缓存时间是CloudFlare日期应存储在W3TC缓存中的时间(以分钟为单位)。页面缓存选项允许您在站点上的页面内容发生更改时刷新CloudFlare缓存。

    常规CloudFlare设置缓存设置

    常规CloudFlare设置缓存设置

    在“CloudFlare:Caching”部分,您可以配置缓存级别、浏览器缓存时间等选项。

    W3TC中的CloudFlare缓存设置内容处理设置

    W3TC中的CloudFlare缓存设置内容处理设置

    在“CloudFlare:Content Processing”部分,您可以启用HTML、JS和CSS资源的最小化。另一个重要的选项是启用“Rocket Loader ”。这是一个异步加载JavaScript文件以提高页面加载速度的性能增强器。

    在W3TC中启用Rocket Loader SSL设置

    在W3TC中启用Rocket Loader SSL设置

    如今, SiteGround和Bluehost等所有托管公司都提供预装在WordPress安装上的Let’s Encrypt SSL。CloudFlare帐户和主机帐户中的SSL设置可能会干扰并产生问题。因此,请确保在此处设置正确的SSL设置。还。只有高级帐户持有人才能从W3TC设置中设置SSL级别,即使您的主机支持使用CloudFlare的SSL。

    使用CloudFlare配置SSL

    使用CloudFlare配置SSL

    配置设置完成后保存所有更改。请记住,CloudFlare就像您的服务器和用户之间的中介。激活CloudFlare需要更改DNS,这可能需要48小时才能正确传播。尤其是,使用CloudFlare进行DNS传播对于具有SSL证书的站点将需要很长时间。您的站点将关闭,直到DNS更改完全传播。

    小结

    尽管有许多可用于WordPress的CDN服务,但CloudFlare是最简单的解决方案之一。它可以通过许多托管计划免费使用,并且设置非常简单。您需要更改名称服务器并在W3 Total Cache等插件中链接您的帐户。您可以从插件配置所有设置并增加您网站的内容交付。