标签: Cloudflare设置

  • 如何在您的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

    如何为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以及如何与您的托管堆栈正确集成可以对您的网站速度和安全性产生积极影响。

  • 如何使用WP Rocket插件正确设置Cloudflare?

    如何使用WP Rocket插件正确设置Cloudflare?

    WP Rocket是WordPress网站最简单有效的缓存插件之一。它提供一键式功能,用于删除未使用的CSS延迟JavaScript和优化缓存以加速您的网站。另一方面,Cloudflare是一项免费的CDN服务,可从最近的位置向用户访问者提供内容。将WP Rocket缓存的强大功能与Cloudflare CDN相结合以提高您网站的性能是一个好主意。

    Rocket CDN与Cloudflare

    WP Rocket还提供自己的RocketCDN,您可以将CDN部分集成到WP Rocket设置中。RocketCDN来自StackPath,您每月需要7.99美元才能开始使用这项仅限高级服务。要使用RocketCDN,您需要通过在您的DNS区域中设置CNAME来创建CDN重定向,并在CDN设置页面添加CNAME。但是,Cloudflare是一个免费的CDN,您无需创建CNAME记录即可在WordPress中使用Cloudflare。

    来自WP Rocket的RocketCDN

    来自WP Rocket的RocketCDN

    您需要更改指向Cloudflare服务器的域的名称服务器,并通过它们路由整个流量。这有助于保护您的网站并改善向用户的内容交付。要将Cloudflare与WP Rocket一起使用,您需要启用附加组件且无需使用CDN部分。

    WP Rocket Cloudflare附加组件

    要将WP Rocket与Cloudflare一起使用,您必须启用默认情况下随WP Rocket插件提供的附加组件。将Cloudflare CDN与WP Rocket一起使用时,不必使用该插件。但是,该插件有助于优化您的Cloudflare帐户中的设置,以便通过缓存正确使用CDN设置。

    启用Cloudflare插件

    登录到您的WordPress管理面板并导航到“Setting > WP Rocket”部分。导航到“附加组件”菜单并向下滚动到“Rocket Add-ons”部分。此时,WP Rocket提供了两个附加组件——Cloudflare和Sucuri。默认情况下,所有加载项状态都设置为关闭。通过单击“Add-ons status”按钮打开Cloudflare加载项,如下所示。

    WP Rocket插件中的Cloudflare插件

    WP Rocket插件中的Cloudflare插件

    使用WP Rocket设置Cloudflare

    启用插件后,单击“Modify Options”按钮查看配置设置。有三个部分可用于优化Cloudflare的设置。

    • Cloudflare凭据
    • Cloudflare设置
    • Cloudflare缓存

    相关文章:

    Cloudflare凭证

    要将WP Rocket与Cloudflare一起使用,您需要允许插件访问您的Cloudflare帐户。这可以通过添加Cloudflare全局API密钥、区域ID以及您的登录电子邮件地址来完成。

    连接Cloudflare和WP Rocket

    连接Cloudflare和WP Rocket

    转到您的Cloudflare帐户并选择您的站点以查看仪表盘。您将登陆“Overview”部分并向下滚动以查看“API”部分(这将显示在右侧边栏上)。您可以在此处找到Zone ID,将其复制并粘贴到您的WP Rocket Zone ID文本框中。之后单击显示在您的帐户ID下方的“Get your API token”链接。

    获取Cloudflare区域ID

    获取Cloudflare区域ID

    这将带您进入帐户资料中的“API Tokens”部分。您可以在“API Keys”部分看到“Global API Key”和“Origin CA Key”。单击Global API Key选项的“View”按钮。

    在Cloudflare中获取Global API Key

    在Cloudflare中获取Global API Key

    您需要输入您的Cloudflare帐户密码才能查看Global API Key。因此,输入您的密码,然后单击弹出窗口中的“View”按钮。

    输入Cloudflare密码

    输入Cloudflare密码

    现在,您将获得您的全局API密钥,您可以将其复制并粘贴到WP Rocket的“Global API Key”文本框中。

    复制全局API密钥

    复制全局API密钥

    注意:对于帐户电子邮件,请确保向您提供Cloudflare帐户电子邮件,而不是WP Rocket或WordPress管理员电子邮件地址。

    Cloudflare设置

    下一部分,您将拥有如下所示的三个选项。关闭开发者模式和相关协议选项并启用“Optimal settings”选项。

    Optimal Cloudflare设置

    Optimal Cloudflare设置

    开发模式将在您的Cloudflare帐户中打开开发模式并禁用缓存/缩小设置。您可以使用开发模式立即测试更改,而不会干扰Cloudflare缓存。否则,只需禁用此选项即可。启用最佳设置以自动打开Cloudflare中的以下功能:

    • 自动缩小 – 启用 CSS、JSS和HTML最小化选项。
    • 将浏览器缓存TTL从默认值4小时更改为1年。
    • 禁用WP Rocket功能。
    • 使缓存级别达到标准。

    Cloudflare最佳设置

    Cloudflare最佳设置

    相对协议选项会将所有静态文件(如图像)的URL更改为使用//而不是http://或https://。WP Rocket建议仅在Cloudflare中的SSL状态设置为灵活时才使用此选项。您可以在Cloudflare帐户仪表盘的“SSL/TLS > Overview”部分下查看SSL/TLS状态。

    在Cloudflare中检查SSL状态

    在Cloudflare中检查SSL状态

    如果您使用完整或严格模式,则禁用相关协议选项。

    Cloudflare缓存

    这是最终设置,只有当您想要删除Cloudflare缓存的内容时,才可以单击“CLEAR ALL Cloudflare CACHE FILES”。这与Cloudflare帐户的“Caching > Configuration”部分下的“Purge Everything”选项相同。

    从WP Rocket清除所有Cloudflare缓存

    从WP Rocket清除所有Cloudflare缓存

    完成设置后,单击“Save Changes”按钮以连接WP Rocket和Cloudflare。您将在您的Cloudflare帐户中看到更改的最佳设置摘要,并且WP Rocket将开始预加载页面。

    Cloudflare设置状态

    Cloudflare设置状态

    小结

    如您所见,WP Rocket通过附加组件简化了Cloudflare设置。您只需连接您的Cloudflare帐户并启用最佳设置即可无缝使用CDN。如果您的网站出现问题,您可以禁用该插件并直接在Cloudflare帐户中进行更改。

  • 如何解决使用Cloudflare导致WP-Cron不工作问题?

    WordPress定时任务不工作

    WordPress需要一些基本要求,例如MySQL和正确的PHP版本才能正常运行。此外,您还需要额外的设置才能使已安装的插件和主题正常工作。

    WP-Cron是WordPress网站在仪表盘中获取更新和报告所需的此类要求之一。另一方面,Cloudflare是许多托管公司内置的流行的免费CDN服务。

    不幸的是,如果您没有正确配置Cloudflare,它可能会停止WP-Cron作业的运行并导致不希望出现的问题。如果您遇到困难,这里是您可以尝试通过Cloudflare CDN设置以修复WP-Cron无法正常工作的问题。

    更多关于WP-Cron

    Cron是Unix中用于调度作业以在后台完成任务的命令。在WordPress世界中,WP-Cron类似于Unix cron作业,用于以周期性间隔调度任务。与您可以在特定时间安排的系统cron作业不同,WP-Cron在每次页面加载时运行并触发预定任务。以下是一些示例,让您了解WP-Cron的作用:

    • 更新WordPress仪表盘小工具,例如实时销售小工具。
    • 检查处于预定状态的文章并按计划发布。
    • 插件可以在后台运行数据库更新、缓存清除等任务。

    您还可以在此处从官方WordPress页面阅读有关WP-Cron的更多详细信息。

    查找WP Cron问题

    当WP-Cron运行出现问题时,会直接影响定时任务的运行。您可以在仪表盘和服务器的错误日志中看到一些失败通知。下面是一个来自WP Rocket插件的例子,它使用WP-Cron来运行预定的缓存清除。如果不清除缓存,则会因大量过时的缓存内容而减慢您的网站速度。

    WP Rocket Cron作业问题

    WP Rocket Cron作业问题

    您还可以使用WP Crontrol之类的插件来监控和查找站点中与cron相关的问题。一旦您发现WP-Cron存在问题,您应该检查您最近在该网站上所做的活动。如果您启用了Cloudflare或更改了CDN中的任何设置,那么这是开始故障排除的第一个地方。

    在Cloudflare中检查WP Cron问题

    Cloudflare的安全设置允许您阻止恶意机器人。不幸的是,这也可以阻止像WP-Cron这样的自动化活动作为误报。好的部分是您可以根据日志中的IP地址和查询字符串轻松找到它。由于WP-Cron将从您的托管服务器的IP地址运行,您可以根据您的服务器的IP检查被阻止的条目以查找更多详细信息。

    • 如果您不知道服务器的IP地址,您可以从主机面板中找到它。或者,您可以转到Cloudflare帐户的DNS部分并找到带有@的A记录,该记录将指向您服务器的IP地址。
    • 之后,转到“Security>Overview”部分,然后单击“Add filter”按钮。
    • 根据与服务器IP相同的IP地址过滤日志。
    • 在这里,您应该找到显示“ /wp-cron.php ”的“Paths”部分,如下图所示。
    • 您还可以找到其他详细信息,例如阻止的原因,在我们的例子中是“manage defined bots”。

    查找服务器IP的安全详细信息

    查找服务器IP的安全详细信息

    如果您想了解更多详细信息,请在页面上向下滚动并查看活动日志部分。在这里,您可以找到为了解WP-Cron因托管规则设置和托管挑战而被阻止而采取的服务和操作。这取决于您的安全设置,您可能在其中选择了一些带有托管质询的选项。

    查看服务器IP的活动日志

    查看服务器IP的活动日志

    单击“Edit columns”按钮以添加可以显示更多详细信息的其他列。由于IP地址已经存在,请选择“Path”和“Query string”复选框。

    选择路径和查询字符串

    选择路径和查询字符串

    这将添加其他列并向您显示路径和查询字符串。正如您在下面的屏幕截图中所见,路径将显示为/wp-cron.php,查询字符串将显示类似?doing_wp_cron的内容。

    查找路径和查询字符串详细信息

    查找路径和查询字符串详细信息

    相关文章:

    使用Cloudflare修复WP-Cron问题

    现在很明显,Cloudflare安全设置会阻止WP-Cron在您自己的托管服务器上运行。尝试以下选项来解决问题。您可能需要检查您的WordPress仪表盘,使用插件或检查服务器的日志,如上所述,以确认WP-Cron工作正常。

    1.禁用绝对自动化的机器人

    免费Cloudflare帐户有一个简单的“机器人战斗模式”来阻止自动机器人。您可以转到“Security> Bots”部分并关闭此选项并检查WP-Cron是否在您的站点上运行。

    Bots Fight Mode

    在免费Cloudflare帐户中禁用Bots Fight Mode

    如果您使用高级Cloudflare计划,请在“Security > Bots”部分单击“Configure Super Bot Fight Mode”链接。

    在Cloudflare中配置超级机器人战斗模式

    在Cloudflare中配置超级机器人战斗模式

    在这里,您可以看到“Definitely automated”机器人被“Managed Challenge”选项阻止。这是您在活动日志中看到的“Definitely automated”,如上所述。由于WP-Cron肯定是在后台自动化的,Cloudflare会阻塞并造成麻烦。单击下拉菜单并选择“Allow”,Cloudflare将自动保存您的设置。

    允许绝对自动化的机器人

    允许绝对自动化的机器人

    在大多数情况下,这将解决Cloudflare的WP-Cron不工作问题。

    2.禁用WAF下的托管规则

    如果允许机器人不能解决问题,那么下一个选项是禁用Cloudflare自动设置的托管规则。根据您使用的平台,Cloudflare将自动启用某些Web应用程序防火墙 (WAF) 规则来保护您的站点。您可以转到“Security> WAF”部分并在“Managed rules”部分下找到为您的站点启用的规则。只需禁用“Managed rules”选项即可将其关闭。

    在Cloudflare中禁用托管WAF规则

    在Cloudflare中禁用托管WAF规则

    或者,进入页面并仅禁用Cloudflare WordPress规则集。

    禁用Cloudflare WordPress规则集

    禁用Cloudflare WordPress规则集

    现在,检查您的WP-Cron是否在没有来自Cloudflare的WAF规则的情况下运行。

    3. 在IP访问规则中将您的服务器列入白名单

    禁用WAF规则集是有风险的,这可能会破坏Cloudflare安全的目的。虽然您可以使用Wordfence和AIOWPS等插件来添加防火墙,但最好的选择是在Cloudflare WAF设置中允许您网站的服务器IP。当您位于Cloudflare帐户的WAF部分时,请转到“Tools”选项卡。输入您的服务器IP,选择允许和此网站选项,然后单击“Add”按钮。这将添加一个异常并避免阻止您自己的服务器的活动,如WP-Cron作业。

    为绕过Cloudflare防火墙添加IP例外

    为绕过Cloudflare防火墙添加IP例外

    小结

    Cloudflare是流行的CDN和安全服务,但是,它无法识别WordPress站点所需的另一个流行的WP-Cron作业。这是可以理解的,因为插件可以出于不同的原因运行WP-Cron并导致您的站点出现安全问题。

    不幸的是,即使在服务器上手动安排cron作业也无法解决问题,因为插件开发人员可能会使用默认的WP-Cron作业。解决方案是禁用机器人保护或排除服务器的IP地址,这将允许运行WP-Cron作业。