Netlify
Content-Security-Policy
para contenido estático
Asegurar que Netlify sirve vuestro contenido estático con las cabeceras
Content-Security-Policy
requiere algo de configuración adicional.
Concretamente, hay que asignar el valor "netlify"
para la entrada
securityHeaders.enableOnStaticPages.provider
de nuestra configuración.
Aquí tenéis un ejemplo más completo:
import { resolve } from 'node:path'
import { defineConfig } from 'astro/config'import { shield } from '@kindspells/astro-shield'
const rootDir = new URL('.', import.meta.url).pathnameconst modulePath = resolve(rootDir, 'src', 'generated', 'sriHashes.mjs')
export default defineConfig({ integrations: [ shield({ // - Si se establece, controla cómo se generarán las cabeceras de // seguridad. // - Si no se establece, no se generarán cabeceras de seguridad. securityHeaders: { // Esta opción es necesaria para configurar las cabeceras CSP para tu // contenido estático en Netlify. enableOnStaticPages: { provider: "netlify" },
// - Si se establece, controla cómo se generará la cabecera CSP // (Content Security Policy). // - Si no se establece, no se configurará ninguna cabecera CSP // para tu contenido estático (no es necesario especificar sus // opciones internas). contentSecurityPolicy: { // - Si se establece, controla las directivas CSP "por // defecto" (pueden ser sobreescritas en tiempo de ejecución). // - Si no se establece, Astro-Shield usará un conjunto mínimo // de directivas por defecto. cspDirectives: { 'default-src': "'none'", } } } }) ]})