Content-Security-Policy
Чтобы Vercel обслуживал ваш статический контент с правильными заголовками Content-Security-Policy, требуется дополнительная настройка. А именно:
securityHeaders.enableOnStaticPages.provider
"vercel"
@astrojs/vercel/static
@astrojs/vercel
Рассмотрим полный пример:
import { resolve } from 'node:path' import vercel from '@astrojs/vercel/static';import { shield } from '@kindspells/astro-shield'import { defineConfig } from 'astro/config' const rootDir = new URL('.', import.meta.url).pathnameconst modulePath = resolve(rootDir, 'src', 'generated', 'sriHashes.mjs') export default defineConfig({ adapter: vercel(), integrations: [ shield({ // - Если установлено, то контролирует, как будут генерироваться заголовки безопасности. // - Если не установлено, то заголовки безопасности не будут генерироваться. securityHeaders: { // Эта опция необходима для настройки заголовков CSP для вашего статического // контента на Vercel. enableOnStaticPages: { provider: "vercel" }, // - Если установлено, то контролирует, как будет генерироваться заголовок // CSP (Content Security Policy). // - Если не установлено, то заголовок CSP не будет настроен для вашего // статического контента (нет необходимости указывать его внутренние параметры). contentSecurityPolicy: { // - Если установлено, контролирует значения по умолчанию директивы CSP // (они могут быть переопределены во время выполнения). // - Если не установлено, Astro-Shield будет использовать минимальный // набор директив по умолчанию. cspDirectives: { 'default-src': "'none'", } } } }) ]})