PHPackages                             b13/proxycachemanager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. b13/proxycachemanager

ActiveTypo3-cms-extension[Caching](/categories/caching)

b13/proxycachemanager
=====================

TYPO3 Extension that automatically flushes cached URLs within a proxy / CDN.

4.1.2(11mo ago)10100.7k—4%13[2 issues](https://github.com/b13/proxycachemanager/issues)GPL-2.0-or-laterPHPPHP ^8.1

Since Jun 15Pushed 4mo ago11 watchersCompare

[ Source](https://github.com/b13/proxycachemanager)[ Packagist](https://packagist.org/packages/b13/proxycachemanager)[ Docs](https://b13.com/)[ RSS](/packages/b13-proxycachemanager/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (37)Used By (0)

Proxy Cache Manager
===================

[](#proxy-cache-manager)

This TYPO3 extension is a flexible and generic way to track the pages that are cached by a reverse proxy like nginx or varnish, or any useful CDN.

Currently supported backends / providers:

- Cloudflare CDN ()
- Akamai CDN ()
- Azure CDN ()

What does it do?
----------------

[](#what-does-it-do)

By embracing TYPO3's Caching Framework this extension provides a new cache to track all pages outputted that are "cacheable". When an editor changes content on a page, the page cache needs to be cleared - and the CDN / reverse proxy needs to be informed that the cache is invalid. This is usually done via a HTTP PURGE request to the CDN / proxy server or a custom API.

The benefits for that are that the editor does not need to worry why out-of-date information is still visible on his/her website.

Requirements
------------

[](#requirements)

- A TYPO3 setup (v11 LTS+) with cacheable content, see the "cacheinfo" extension for what can be tracked with HTTP caches.
- A CDN or Reverse Proxy (such as nginx or apache2)

Setup
-----

[](#setup)

Install the extension and make sure to enter the details about your proxy servers, otherwise the default (`IENV:TYPO3_REV_PROXY`) is used.

Don't forget to set the according TYPO3 settings for using proxies, see `$GLOBALS['TYPO3_CONF_VARS']['SYS']['reverseProxyIP']` and `$GLOBALS['TYPO3_CONF_VARS']['SYS']['reverseProxyHeaderMultiValue']`.

Whenever a cacheable frontend page is now called, the full URL is stored in a cache called "tx\_proxy" automatically (a derivative of the Typo3DatabaseBackend cache), tagged with the pageID. Whenever the cache is flushed, the database table is emptied completely, additionally, a HTTP PURGE call to the reverse proxy is made to empty all caches. If only a certain tag is removed, the PURGE call is made only to the relevant URLs that are stored in the cache.

### Configuration

[](#configuration)

By default all administrators can flush the CDN caches via the toolbar on the top right corner of TYPO3's Backend.

To enable the button for non-admin editors, use this UserTsConfig option:

`options.clearCache.proxy = 1`

To explicitly disable the button for specific administrators, use this UserTsConfig option:

`options.clearCache.proxy = 0`

Credits
-------

[](#credits)

The extension was created taken all the great from Andreas Gellhaus, Tom Rüther into account, as well as `moc_varnish` and `cacheinfo` as great work before.

[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you) 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.

###  Health Score

56

—

FairBetter than 98% of packages

Maintenance62

Regular maintenance activity

Popularity41

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 74.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~134 days

Recently: every ~122 days

Total

20

Last Release

335d ago

Major Versions

v2.2.0 → v3.0.02019-11-09

v3.4.2 → v12.x-dev2023-10-25

PHP version history (4 changes)v2.0.0PHP ^7.0

v3.0.0PHP ^7.2

v3.1.0PHP ^7.2 || ^8.0

v12.x-devPHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/165630?v=4)[Benni Mack](/maintainers/bmack)[@bmack](https://github.com/bmack)

![](https://avatars.githubusercontent.com/u/2851821?v=4)[b13 GmbH](/maintainers/b13)[@b13](https://github.com/b13)

---

Top Contributors

[![bmack](https://avatars.githubusercontent.com/u/165630?v=4)](https://github.com/bmack "bmack (75 commits)")[![achimfritz](https://avatars.githubusercontent.com/u/2152991?v=4)](https://github.com/achimfritz "achimfritz (8 commits)")[![ervaude](https://avatars.githubusercontent.com/u/7824856?v=4)](https://github.com/ervaude "ervaude (3 commits)")[![davidsteeb](https://avatars.githubusercontent.com/u/3862523?v=4)](https://github.com/davidsteeb "davidsteeb (3 commits)")[![SomeBdyElse](https://avatars.githubusercontent.com/u/243504?v=4)](https://github.com/SomeBdyElse "SomeBdyElse (2 commits)")[![markusa86](https://avatars.githubusercontent.com/u/4696466?v=4)](https://github.com/markusa86 "markusa86 (2 commits)")[![ochorocho](https://avatars.githubusercontent.com/u/4623070?v=4)](https://github.com/ochorocho "ochorocho (2 commits)")[![helsner](https://avatars.githubusercontent.com/u/16156392?v=4)](https://github.com/helsner "helsner (1 commits)")[![Hutze](https://avatars.githubusercontent.com/u/3949642?v=4)](https://github.com/Hutze "Hutze (1 commits)")[![DenisMir](https://avatars.githubusercontent.com/u/157281?v=4)](https://github.com/DenisMir "DenisMir (1 commits)")[![mvoehringer](https://avatars.githubusercontent.com/u/2719466?v=4)](https://github.com/mvoehringer "mvoehringer (1 commits)")[![dkd-friedrich](https://avatars.githubusercontent.com/u/9529685?v=4)](https://github.com/dkd-friedrich "dkd-friedrich (1 commits)")[![georgringer](https://avatars.githubusercontent.com/u/1905663?v=4)](https://github.com/georgringer "georgringer (1 commits)")

---

Tags

proxycachecdntypo3varnishpurge

### Embed Badge

![Health badge](/badges/b13-proxycachemanager/health.svg)

```
[![Health](https://phpackages.com/badges/b13-proxycachemanager/health.svg)](https://phpackages.com/packages/b13-proxycachemanager)
```

###  Alternatives

[nexxai/laravel-cfcache

A handful of Cloudflare cache helpers for Laravel

1317.7k](/packages/nexxai-laravel-cfcache)[spekkionu/assetcachebuster

Prefixes asset urls with a unique hash which will allow invalidation of asset files cached by the browser.

3243.2k](/packages/spekkionu-assetcachebuster)[bnf/nginx-cache

NGINX Cache Manager for TYPO3

243.7k](/packages/bnf-nginx-cache)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
