Insights / Articles techniques
En-têtes de sécurité pour les ressources statiques et Functions de Cloudflare Pages
Distinguez les réponses statiques de Pages et celles de Functions et vérifiez _headers, la CSP et la configuration actuelle.

Sommaire
Si CSP ou cache semblent sans effet sur Cloudflare Pages, identifiez d’abord une réponse statique ou Functions. Choisissez l’emplacement de configuration avec Cloudflare Pages: Headers, puis vérifiez les en-têtes d’erreur comme de succès pour repérer les oublis après ajout d’API.
Cet article retraçait le passage, en mars 2026, d’un formulaire géré par Worker à un service externe et à une diffusion statique sur Cloudflare Pages. L’architecture a changé depuis. En septembre 2026, le site d’Acecore utilise aussi Pages Functions pour le contact, les commentaires, la recherche, l’aide par IA et les API du CMS. L’ancienne décision reste un contexte historique.
Distinguer réponses statiques et Functions
public/_headers s’applique aux réponses des ressources statiques servies par Pages. Cloudflare précise que ces règles ne s’appliquent pas aux réponses produites par Pages Functions, même si l’URL correspond. Définissez les en-têtes CORS, de cache et de sécurité nécessaires dans le Response de la Function.
Ne supposez pas que _headers protège toutes les pages et API. Vérifiez séparément les en-têtes du HTML statique et de /api/*.
- Réponse d’un fichier statique Configurez avec _headers ; vérifiez la réponse servie par Pages.
- Réponse API d’une Function Définissez les en-têtes sur la Response de la Function ; vérifiez l’API séparément.
Où lire la configuration actuelle
Le fichier _headers actuel impose la revalidation du HTML et conserve plus longtemps les ressources _astro/ nommées par hash. Le CMS possède une CSP distincte et X-Frame-Options vaut SAMEORIGIN. Ne reprenez pas comme valeurs actuelles l’ancien form-action https://ssgform.com, le cache HTML d’une heure ou DENY.
Les routes dynamiques sont visibles dans le code Pages Functions. Adaptez la CSP aux scripts, images, cadres et connexions réellement utilisés par votre site, sans copier telle quelle celle d’Acecore.
Déploiement et vérification
Le site publie main avec Cloudflare Pages relié à GitHub. La version actuelle de Node figure dans .node-version ; la CI exécute npm run build depuis package.json. Le tableau de mars 2026 indiquant « Node.js 22 / npx astro build » est historique.
Vérifiez séparément l’aperçu PR, le build de main, le déploiement Pages en production et l’URL publique. Consultez la documentation Cloudflare sur les en-têtes Pages.