AkamaSoft

Mettre Django derrière Cloudflare accélère les fichiers et les pages publiques. La même règle, appliquée à l’administration ou à une page de compte, affiche les données d’un visiteur au suivant. Le CDN ne devine pas ce qui est privé. C’est l’application qui l’écrit.

CSS et pages publiques se cachent. Admin, session, paiement et webhooks ne se cachent pas.

Ce qui peut rester au edge

  • CSS, JavaScript et images versionnés.
  • Une page d’article identique pour tout le monde.
  • Les fichiers médias publics, servis avec un long Cache-Control.

Ce qui ne se cache pas

  • /admin/ et toute vue qui lit la session.
  • Le compte, le panier, le solde, le tableau de bord.
  • Les retours de paiement et les webhooks. Les mettre en cache, c’est rejouer un ancien corps ou le montrer à un autre appelant.

Sur ces vues, la réponse porte Cache-Control: private, no-store. private autorise le navigateur de la personne connectée à garder la page. no-store interdit au CDN de la stocker. Un cookie de session ne suffit pas comme protection : si la règle Cloudflare ignore les cookies, la première page générée est servie à tout le monde.

Côté Cloudflare

Une règle de cache « tout mettre en cache » sur le nom du site est le réglage à retirer. On cache par chemin : /static/ et les pages explicitement publiques. Le reste passe vers l’origine. L’article Cloudflare : DNS, CDN, load balancer, R2 et Stream décrit les pools et R2. Celui-ci ne traite que la frontière avec Django.

Le contrôle

On ouvre la page de compte dans un navigateur connecté, on copie l’URL, on l’ouvre dans une fenêtre privée. La fenêtre privée doit voir la page de connexion, pas le nom du premier utilisateur. On recommence après un vidage de cache. Si le prénom du premier utilisateur apparaît, la règle de cache est encore trop large.

Auteur : Mvondo bekey anael

ceo | founder
Compétences
  • • Maîtrise des environnements Unix, Linux, Mac, Windows, iOS et Android
  • • Programmation orientée objet : Python, Ruby, C++, Java, PHP, JavaScript
  • • Certifié Linux LPI (101, 102, 202, 203, 301, 303)
  • • Certifié AdWords Professional, certifié CEH (6, 7, 8, 9, 10, 11)
  • • Maîtrise de Docker, VMware vSphere, Microsoft Hyper-V, Citrix, VirtualBox, Proxmox VE
Annonce