b13 / proxycachemanager
TYPO3 扩展,可自动刷新代理/CDN 中的缓存 URL。
Requires
- php: ^8.1
- typo3/cms-backend: ^11.5 || ^12.4
- typo3/cms-frontend: ^11.5 || ^12.4
Requires (Dev)
- saschaegerer/phpstan-typo3: ^1.8
- typo3/coding-standards: ^0.7
- typo3/tailor: ^1.0
- dev-master
- v12.x-dev
- 4.0.1
- 4.0.0
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.0
- v3.2.0
- v3.1.0
- 3.0.1
- v3.0.0
- v2.2.0
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- dev-bugfix/cache-service
- dev-bugfix/avoid-invalidate
- dev-assetcollector
- dev-bugfix/php8-array-access
- dev-bugfix/image-urls
- dev-task/drop-v9-support
- dev-feature/add-ci
- dev-exceptions-cloudflare
- dev-bugfix/php8-issues
- dev-bugfix/flush-proxy-cache
- dev-bugfix/request-exception
- dev-feature/file-modifications
- dev-bugfix/guzzle-client
- dev-bugfix/url-parsing
This package is auto-updated.
Last update: 2024-09-13 11:14:56 UTC
README
此 TYPO3 扩展是一种灵活通用的方法,用于跟踪由 nginx 或 varnish 等反向代理或任何有用的 CDN 缓存的页面。
当前支持的后端/提供者
- Cloudflare CDN (https://packagist.org.cn/packages/b13/cloudflare-cdn)
- Akamai CDN (https://packagist.org.cn/packages/b13/akamai)
- Azure CDN (https://packagist.org.cn/packages/b13/azure-purge)
它做什么?
通过采用 TYPO3 的缓存框架,此扩展提供了一个新的缓存来跟踪所有“可缓存”的输出页面。当编辑在页面上更改内容时,页面缓存需要清除,并且 CDN/反向代理需要通知缓存已失效。这通常通过向 CDN/代理服务器发送 HTTP PURGE 请求或自定义 API 来完成。
这样做的好处是编辑不需要担心为什么过时信息仍然在他的/她的网站上可见。
要求
- A TYPO3 设置(v11 LTS+)具有可缓存内容,有关 HTTP 缓存可跟踪的内容,请参阅“cacheinfo”扩展。
- CDN 或反向代理(例如 nginx 或 apache2)
设置
安装扩展,并确保输入关于您的代理服务器的详细信息,否则将使用默认设置(IENV:TYPO3_REV_PROXY
)。
不要忘记设置使用代理的相应的 TYPO3 设置,请参阅 $GLOBALS['TYPO3_CONF_VARS']['SYS']['reverseProxyIP']
和 $GLOBALS['TYPO3_CONF_VARS']['SYS']['reverseProxyHeaderMultiValue']
。
每当调用一个可缓存的前端页面时,完整的 URL 将自动存储在一个名为 "tx_proxy" 的缓存中(Typo3DatabaseBackend 缓存的派生),并带有页面 ID 标签。每当刷新缓存时,数据库表将被完全清空,另外,还会向反向代理发出 HTTP PURGE 调用来清空所有缓存。如果只删除特定的标签,则仅对存储在缓存中的相关 URL 发出 PURGE 调用。
配置
默认情况下,所有管理员都可以通过 TYPO3 后端右上角的工具栏刷新 CDN 缓存。
要启用非管理员编辑器的按钮,使用此 UserTsConfig 选项
options.clearCache.proxy = 1
要显式禁用特定管理员的按钮,使用此 UserTsConfig 选项
options.clearCache.proxy = 0
致谢
本扩展是在充分考虑了 Andreas Gellhaus 和 Tom Rüther 的优秀工作,以及 moc_varnish
和 cacheinfo
在之前所做的出色工作的基础上创建的。
了解我们开发的更多 TYPO3 扩展,这些扩展有助于我们在客户项目中创造价值。作为我们工作方式的一部分,我们专注于测试和最佳实践,以确保所有代码的长期性能、可靠性和结果。