b13/akamai

Akamai CDN 适配器,用于清空 TYPO3 缓存

维护者

详细信息

github.com/b13/akamai

源代码

问题

安装: 511

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 10

分支: 0

开放问题: 0

类型:typo3-cms-extension

v2.0.2 2023-01-05 23:12 UTC

This package is auto-updated.

Last update: 2024-09-06 02:56:11 UTC


README

当 TYPO3 部署在 Akamai 的 EdgeGrid CDN 后,本扩展是您的理想伴侣。

本扩展隐藏了 Akamai EdgeGrid API 清空缓存的复杂性。

安装

由于 EXT:akamai 使用了一些 PHP 库,因此当前仅在以 composer 模式运行 TYPO3 时,此扩展才有用。您可以使用 composer 安装此扩展

composer req b13/akamai

用法

默认情况下,EXT:akamai 配备了 akamai:purge CLI 命令,用于清空内容提供者组(CP)或特定 URL。TYPO3 使用优雅的 "invalidate" 端点。

可以清空单个或多个 URL

./vendor/bin/typo3 akamai:purge --url=https://example.com/page1 --url=https://example.com/page2

或通过 CP 代码清空整个内容提供者

./vendor/bin/typo3 akamai:purge --url=https://example.com/page1 --url=https://example.com/page2

EXT:akamai 通过确定 TYPO3 上下文来选择网络,只有当 TYPO3 上下文设置为生产时才使用生产网络。但是,可以通过 --network=staging--network=production 设置来覆盖此设置。

集成到 TYPO3 后台

EXT:akamai 可以与 TYPO3 的代理缓存管理器扩展一起使用。

使用 EXT:proxycachemanager 的 Akamai 适配器可以直接在修改页面时清空页面缓存。如果您处理的 Akamai 配置不仅缓存静态资源,还缓存页面,这非常理想。

为此,请确保在 EXT:proxycachemanager 的设置中将类 \B13\Akamai\Provider\AkamaiProxyProvider 设置为。

配置

凭证

Akamai 使用 .edgerc 凭证文件,该文件目前要求位于 TYPO3 的主目录中(项目路径,也是您的 composer 文件所在的路径)。

此文件可能看起来像这样

[default]
client_secret = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
host = xxxxx.purge.akamaiapis.net
access_token = xxxxx
client_token = xxxxx

还可以直接使用环境变量。

AKAMAI_DEFAULT_CLIENT_SECRET = xxxxx
AKAMAI_DEFAULT_HOST = xxxxx.purge.akamaiapis.net
AKAMAI_DEFAULT_ACCESS_TOKEN = xxxxx
AKAMAI_DEFAULT_CLIENT_TOKEN = xxxxx

使用扩展设置 configType 在环境和 .edgerc 模式之间进行选择。

请注意,无论您选择哪种配置类型,主机都不包含 URL 方案。

默认部分也可以进行配置,如果您的安装具有多个 Akamai 端点。

在站点配置中使用多个部分/CDN 端点

在使用 EXT:proxycachemanager 的集成时,可以根据站点定义 CP 代码。请确保在您的 TYPO3 站点 config.yaml 中设置此参数。

settings:
  cdn:
    akamai_cpcode: "12345"
    akamai_auth_section: "superbowl_campaign"

许可证

此扩展在 GPL v2+ 许可下发布,与 TYPO3 核心相同。有关详细信息,请参阅此存储库中的 LICENSE 文件。

开放问题

如果您发现问题,请随时在 GitHub 上创建问题或拉取请求。

鸣谢

本扩展由 Benni Mack 于 2020 年为 b13 GmbH 创建。

了解我们开发的更多 TYPO3 扩展,这些扩展有助于我们在客户项目中创造价值。作为我们工作方式的一部分,我们专注于测试和最佳实践,以确保我们代码的长期性能、可靠性和结果。