Cloudflare Hit & Scan

Nativement, CloudFlare ne permet pas une purge sur une sélection d'urls via un sélecteur de type 'mot'.

Cet outil permet de créer un inventaire des urls qui sont en cache dans cloudflare. Le but est de pouvoir ensuite sélectionner une partie de ses urls pour en demander la purge, sans avoir à purger toute la zone.

Fonctionnement

Pour les pages web, ajouter le tag suivant dans la page

<script type="text/javascript" defer async src="https://cloudflare.coworking-metz.fr/cf.js"></script>

Il se chargera de détecter tous les assets de la page qui sont mis en cache dans CloudFlare, et d'en envoyer la liste au endpoint /hit

Dans le cas de fichiers générés côté serveur, (comme les polaroids), on utilisera directement le endpoint /hit.

Endpoints

/hit

Le endpoint /hit va inventorier une liste d'urls. Appeler le endpoint via une requète GET ou POST avec une chaîne de caractère url ou un tableau urls contenant la ou les urls à inventorier.

https://cloudflare.coworking-metz.fr/hit?url=https://photos.coworking-metz.fr/polaroid/size/big/classic/225.jpg&verbose=true

L'ajout d'un paramètre facultatif booléen verbose permet de voir la liste des urls effectivement inventoriées (1)

/purge

Le endpoint /purge permet de purger le cache d'une sélection d'urls. Pour sélectionner les urls, il faut envoyer une chaîne de caractère selector. Toutes les pages dont l'url contient le mot contenu dans selector seront purgées (Ne pas inclure de * ou autre regexp dans selector). On peut combiner plusieurs critères différents dans selector en séparant chaque terme par une virugle ,. L'ajout d'un paramètre facultatif booléen verbose permet de voir la liste des urls purgées

Purger les fichier css

https://cloudflare.coworking-metz.fr/purge?selector=css&verbose=true

Purger les urls du domaine pages.coworking-metz.fr

https://cloudflare.coworking-metz.fr/purge?selector=pages.coworking-metz.fr&verbose=true

Purger les urls des domaines pages.coworking-metz.fr et www.coworking-metz.fr

https://cloudflare.coworking-metz.fr/purge?selector=pages.coworking-metz.fr,www.coworking-metz.fr&verbose=true

/list

Le endpoint /list n'effectue aucune action. Il permet simplement de visualiser les urls inventoriées pour un selecteur donné. Pour sélectionner les urls, il faut envoyer une chaîne de caractère selector. Toutes les pages dont l'url contient le mot contenu dans selector seront listées (Ne pas inclure de * ou autre regexp dans selector). On peut combiner plusieurs critères différents dans selector en séparant chaque terme par une virugle ,. _

1: certaines URL ne sont pas censées être mises en cache par CloudFlare, comme celle contenant une extension .php ou un query param nocache par exemple. Le endpoint /hit va donc les ignorer et ne pas les inventorier.