Netlify
Content-Security-Policy
для статического контента
Чтобы Netlify обслуживал ваш статический контент с правильными заголовками
Content-Security-Policy
, требуется дополнительная настройка. В частности,
установите securityHeaders.enableOnStaticPages.provider
в значение "netlify"
.
Рассмотрим полный пример:
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({ // - Если установлено, то контролирует, как будут генерироваться заголовки безопасности. // - Если не установлено, то заголовки безопасности не будут генерироваться. securityHeaders: { // Эта опция необходима для настройки заголовков CSP для вашего статического // контента на Netlify. enableOnStaticPages: { provider: "netlify" },
// - Если установлено, то контролирует, как будет генерироваться заголовок // CSP (Content Security Policy). // - Если не установлено, то заголовок CSP не будет настроен для вашего // статического контента (нет необходимости указывать его внутренние параметры). contentSecurityPolicy: { // - Если установлено, контролирует значения по умолчанию директивы CSP // (они могут быть переопределены во время выполнения). // - Если не установлено, Astro-Shield будет использовать минимальный // набор директив по умолчанию. cspDirectives: { 'default-src': "'none'", } } } }) ]})