ttree/cloudflare

Neos CMS 支持 Cloudflare 全页缓存(包括 HTML 页面)

安装: 6

依赖项: 0

建议者: 0

安全性: 0

星星: 1

关注者: 3

分支: 0

开放性问题: 0

类型:neos-package

dev-master 2017-07-18 08:19 UTC

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