Insights / Artículos técnicos

Encabezados de seguridad para recursos estáticos y Functions de Cloudflare Pages

Distingue las respuestas estáticas de Pages y las de Functions y revisa _headers, CSP y la configuración actual.

  • Tecnología
  • Cloudflare
  • Seguridad
Encabezados de seguridad para recursos estáticos y Functions de Cloudflare Pages
Contenido
  1. Separa respuestas estáticas y Functions
  2. Consulta la configuración actual
  3. Despliegue y verificación

Si CSP o caché no funcionan en Cloudflare Pages, identifica primero si la URL devuelve un recurso estático o una respuesta de Functions. Usa Cloudflare Pages: Headers para elegir la configuración y revisa cabeceras de errores y éxitos para encontrar omisiones tras añadir API.

Este artículo documentaba el cambio de marzo de 2026 de un formulario con Worker a un servicio externo y a la entrega estática con Cloudflare Pages. La arquitectura ha cambiado. En septiembre de 2026, el sitio corporativo de Acecore usa Pages Functions junto a páginas estáticas para contacto, comentarios, búsqueda, asistencia de IA y API del CMS. La decisión anterior es contexto histórico.

Separa respuestas estáticas y Functions

public/_headers se aplica a las respuestas de recursos estáticos de Pages. Cloudflare indica expresamente que no se aplica a respuestas generadas por Pages Functions, aunque coincida el patrón de URL. Configura los encabezados CORS, de caché y de seguridad necesarios en el Response de cada Function.

No supongas que _headers protege todas las páginas y API. Comprueba por separado los encabezados reales del HTML estático y de /api/*.

Los headers tienen distintos puntos de configuración Los archivos estáticos y las API configuran los headers en lugares distintos. Verifica ambas respuestas tras publicar.
  1. Respuesta de archivo estático Se configura con _headers; comprueba la respuesta que entrega Pages.
  2. Respuesta de API de Function Configura los headers en la Response de Function; comprueba la API por separado.

Consulta la configuración actual

El archivo _headers actual revalida HTML y conserva más tiempo los recursos _astro/ con hash. El CMS tiene una CSP propia y X-Frame-Options vale SAMEORIGIN. No copies como valores actuales el antiguo form-action https://ssgform.com, la caché HTML de una hora ni DENY.

Las rutas dinámicas están en el código de Pages Functions. Ajusta las fuentes CSP a los scripts, imágenes, marcos y conexiones de tu propio sitio; no trasplantes la política de Acecore sin revisarla.

Despliegue y verificación

El sitio publica main mediante Cloudflare Pages conectado con GitHub. La versión actual de Node figura en .node-version; CI usa npm run build de package.json. La tabla de marzo de 2026 con “Node.js 22 / npx astro build” es histórica.

Comprueba por separado la vista previa del PR, el build de main, el despliegue de producción y la URL pública. Consulta la documentación de encabezados de Pages de Cloudflare.