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.

  • Technologie
  • Cloudflare
  • Sécurité
En-têtes de sécurité pour les ressources statiques et Functions de Cloudflare Pages
Sommaire
  1. Distinguer réponses statiques et Functions
  2. Où lire la configuration actuelle
  3. Déploiement et vérification

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/*.

Les en-têtes se configurent à des endroits différents Les fichiers statiques et les API ont des points de configuration distincts. Vérifiez les deux réponses après le déploiement.
  1. Réponse d’un fichier statique Configurez avec _headers ; vérifiez la réponse servie par Pages.
  2. 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.