b13/cloudflare-cdn

Cloudflare CDN Adapter for purging TYPO3 caches

Installs: 6 041

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 8

Forks: 1

Open Issues: 1

Type:typo3-cms-extension

2.0.0 2023-11-06 06:33 UTC

This package is auto-updated.

Last update: 2024-11-13 08:01:28 UTC


README

When TYPO3 is running behind Cloudflare's CDN, this extension is a perfect companion for you.

Installation

You can install this extension by using composer:

composer req b13/cloudflare-cdn

Usage

By default, EXT:cloudflare_cdn ships with a cdn:purge CLI command to purge a full CDN zone or a specific URL within the CDN zone.

It is possible to purge a single or multiple URLs

./vendor/bin/typo3 cdn:purge --url=https://www.exmaple.com/page1 --url=https://www.exmaple.com/page2

or purge a whole CDN Zone

./vendor/bin/typo3 cdn:purge --zone=my-zone-id

Integration into TYPO3 Backend

EXT:cloudflare_cdn can be used in conjunction with TYPO3's Proxy Cache Manager Extension.

Using the Cloudflare CDN Adapter for EXT:proxycachemanager flushes page caches directly when modifying a page. This is perfect if you're dealing with Cloudflare CDN that not just caches your static assets but also your pages.

For this, ensure to set the class \B13\CloudflareCDN\Provider\CloudflareProxyProvider in the settings of EXT:proxycachemanager.

Configuration

This extension purges CDN caches via cURL requests wrapped in Guzzle's API (bundled in TYPO3).

For this, you need a Cloudflare API Token.

API Tokens are generated from the User Profile 'API Tokens' page (see https://dash.cloudflare.com/profile/api-tokens)

Get your Zone ID via Dash in your Zone on the right-side menu.

Ensure to set the environment variable CLOUDFLARE_API_TOKEN.

Please note that the ProxyProvider needs additional configuration for each zone in

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['cloudflare']['zones'] = [
    'example.com' => 'ZONE_ID'
];

This way, you can use multiple domains in one TYPO3 installation having CDN support.

License

The extension is licensed under GPL v2+, same as the TYPO3 Core. For details see the LICENSE file in this repository.

Extension Icon courtesy of Cloudflare Inc. https://cloudflare.com

Open Issues

If you find an issue, feel free to create an issue on GitHub or a pull request.

Credits

This extension was created by Benni Mack in 2022 for b13 GmbH.

Find more TYPO3 extensions we have developed that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.