ttree / cloudflare
Neos CMS 支持 Cloudflare 全页缓存(包括 HTML 页面)
Requires
- neos/flow: ^3.0
This package is auto-updated.
Last update: 2024-08-26 04:46:54 UTC
README
本包为 Neos CMS 提供支持 Cloudflare 全页缓存的功能(包括 HTML 页面)
本包正在开发中,任何 PR 或审查都受欢迎。
由 Dominique Feyer 创建 dfeyer@ttree.ch http://www.ttree.ch
特性
- 将每个请求 URI 与页面渲染中使用的节点进行标记
- 在第一个在实时工作空间中命中时生成请求缓存
- 在节点发布时清除缓存(对于所有使用当前节点的 URI)
- 通过命令行工具使用 Cloudflare API 进行一些基本操作
准备好了吗?
目前,本包已在我们 agency 网站 <http://ttree.ch> 上用于生产。但 API 目前尚未标记为稳定,将来可能会发生变化。提交信息应遵循 Neos CMS 的提交信息规范,重大更改将在提交的第一行标记为 "!!!"。
如何配置 Cloudflare 以缓存 HTML 页面?
默认情况下,CF 不缓存您的 HTML 页面,只缓存像图片、javascript 这样的资源。
您可以通过使用“页面规则”来更改此默认设置。这些页面规则假定您使用 ".html" 后缀为您的页面,并且您使用 Neos。这些规则必须根据您的需求进行调整,您网站的一些动态页面可能需要不同的缓存规则。
- domain.com/@user-.html (缓存级别:绕过缓存)
- domain.com/neos/* (缓存级别:绕过缓存)
- domain.com/ (缓存级别:缓存一切)
- domain.com/*.html (缓存级别:缓存一切)
这些规则仅作为示例。
如何使用插件?
您需要使用 composer 安装包并配置您的设置:
Ttree:
Cloudflare:
default:
zone: 'need-to-be-configured'
apiKey: 'need-to-be-configured'
email: 'api@domain.com'
'domain_com':
zone: 'domain.com'
apiKey: 'need-to-be-configured'
email: 'api@domain.com'
如果需要,您可以使用多个 CF 账户。
警告:密钥(domain_com)必须是 CF 区域名称,其中 "." 被替换为 "_"。
如何生成缓存?
缓存由一个 TypoScript2 对象生成,您只需在您的 Site TS2 中使用它:
include: resource://Ttree.Cloudflare/Private/TypoScripts/Library/NodeTypes.ts2
page = Page {
[all your page configuration here]
cache = Ttree.Cloudflare:Cache {
@position = 'end'
enable = TRUE
zone = 'domain.com'
}
}
通过适当的配置,您将能够处理大量负载而不会杀死您的服务器。保持您的 CPU 时间以支持您的贡献者。
愿望列表
- 自定义页面过期 HTTP 标头
- 更好的测试覆盖率
- 一些高级配置文档
- 作业队列支持,在清除缓存后生成页面缓存
致谢
由 ttree ltd - neos 解决方案提供商 赞助开发。
我们尽力用大量的爱来制作这个包,我们开放赞助、支持请求等,请联系我们。
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 LICENSE。