steadlane/silverstripe-cloudflare

此模块旨在减轻在使用Cloudflare缓存时对任何SilverStripe项目的压力。添加扩展钩子,当页面发布或取消发布时,会清除特定页面的Cloudflare缓存。

安装: 3 311

依赖项: 0

建议者: 0

安全: 0

星标: 24

关注者: 3

分支: 9

开放问题: 6

类型:silverstripe-vendormodule

2.0.1 2019-09-03 06:05 UTC

This package is auto-updated.

Last update: 2024-08-29 03:58:10 UTC


README

Build Status Latest Stable Version Total Downloads License Monthly Downloads Code Climate

简介

此模块的目的是减轻在Cloudflare后面更新SilverStripe CMS中任何页面时所需的双重处理。当页面被发布取消发布时,会调用相关的Cloudflare端点来清除您刚刚发布/取消发布的URL/页面的缓存。

这允许您在不登录Cloud Flare仪表板手动清除缓存的情况下,立即在预览窗口中看到您的更改。

Cloudflare允许您在单个账户下注册多个域名。此模块的功能性强,它可以自动检测与安装此模块的域名一起使用的Zone ID。因此,除了以下两个配置设置之外,无需其他设置。您可以在任何位置“即插即用”此模块,这意味着您不必担心跟踪相关的Zone ID(您只能通过API获取)。

注意:始终确保您的API身份验证信息安全。如果您担心您的凭据在别人的机器上;让他们设置自己的Cloudflare账户。

注意:检测到的Zone ID将在查看“Cloudflare”菜单项时始终显示在SilverStripe管理面板中

特性

  • 动态Zone ID检测
  • 智能清除
    • 如果您修改了任何页面的标题或URL:将清除该区域的全部缓存。
    • 如果您修改了任何页面的内容:仅清除该页面的缓存。
    • 如果您修改了具有父页面的任何页面,则您修改的页面及其所有父页面也将被清除。
  • 手动清除
    • 此模块的管理区域允许您清除所有CSS文件、所有JavaScript文件、所有图像文件或...全部。

安装

此模块仅支持通过composer安装

composer require steadlane/silverstripe-cloudflare

之后运行/dev/build,并添加?flush=1以确保SilverStripe了解此模块

配置

此模块的配置很简单,您只需在mysite/_config.php中定义两个常量

define('CLOUDFLARE_AUTH_EMAIL', 'mycloudflare@example.com.au');
define('CLOUDFLARE_AUTH_KEY', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ');

或者,可以在.env中定义环境变量

CLOUDFLARE_AUTH_EMAIL="mycloudflare@example.com.au"
CLOUDFLARE_AUTH_KEY="ABCDEFGHIJKLMNOPQRSTUVWXYZ"

缓存规则

建议您将以下内容添加到Cloudflare缓存规则中,作为no-cache

Bypass Cache Example

贡献

如果您觉得您可以从任何方面改进此模块,请不要犹豫,提交一个PR以供审查。

故障排除和常见问题解答

Q. SS Cloudflare管理员部分为空白! A. 如果Cloudflare管理员面板无法正确加载,快速?flush=1将解决此问题。

Q. SS Cloudflare页脚始终显示“Zone ID:无法检测”。 A. 此模块通过使用您访问网站时使用的域名动态检索您的Zone ID。请确保此域名已正确注册在您的Cloudflare账户下。如果问题仍然存在,请在我们的问题跟踪器中打开一个工单,并提供尽可能多的信息。

错误/问题

请使用我们的问题跟踪器报告错误或问题。

许可

本模块遵循BSD-3条款许可协议进行分发。