Content Security Policy (CSP) es un estándar de seguridad que ayuda a prevenir ataques de cross-site scripting (XSS) controlando qué recursos puede cargar una página web. Mintlify proporciona una CSP predeterminada que protege a la mayoría de los sitios. Si alojas tu documentación detrás de un proxy inverso o un cortafuegos que sobrescribe la CSP predeterminada, puede que necesites configurar encabezados CSP para que las funciones se ejecuten correctamente.
Las siguientes directivas de CSP se utilizan para controlar qué recursos se pueden cargar:
script-src: Controla qué scripts se pueden ejecutar
style-src: Controla qué hojas de estilo se pueden cargar
font-src: Controla qué fuentes se pueden cargar
img-src: Controla qué imágenes, iconos y logotipos se pueden cargar
connect-src: Controla a qué URL se puede conectar para llamadas a la API y conexiones WebSocket
frame-src: Controla qué URL se pueden incrustar en frames o iframes
default-src: Valor predeterminado para otras directivas cuando no se establece explícitamente
Lista de dominios permitidos
Dominio Propósito Directiva CSP Obligatorio d4tuoctqmanu0.cloudfront.netCSS y fuentes de KaTeX style-src, font-srcObligatorio *.mintlify.devContenido de la documentación connect-src, frame-srcObligatorio *.mintlify.comDashboard, API, proxy de insights connect-srcObligatorio leaves.mintlify.comAPI del assistant connect-srcObligatorio d3gk2c5xim1je2.cloudfront.netÍconos, imágenes, logotipos img-srcObligatorio d1ctpt7j8wusba.cloudfront.netArchivos de versiones y lanzamientos de Mint connect-srcObligatorio mintcdn.comImágenes, favicons img-src, connect-srcObligatorio *.mintcdn.comImágenes, favicons img-src, connect-srcObligatorio api.mintlifytrieve.comAPI de búsqueda connect-srcObligatorio cdn.jsdelivr.netRecursos de emojis para imágenes OG script-src, img-srcObligatorio fonts.googleapis.comGoogle Fonts style-src, font-srcOpcional www.googletagmanager.comGoogle Analytics/GTM script-src, connect-srcOpcional cdn.segment.comSegment Analytics script-src, connect-srcOpcional plausible.ioPlausible Analytics script-src, connect-srcOpcional us.posthog.comPostHog Analytics connect-srcOpcional tag.clearbitscripts.comSeguimiento de Clearbit script-srcOpcional cdn.heapanalytics.comHeap Analytics script-srcOpcional chat.cdn-plain.comWidget de chat de Plain script-srcOpcional chat-assets.frontapp.comWidget de chat de Front script-srcOpcional browser.sentry-cdn.comSeguimiento de errores con Sentry script-src, connect-srcOpcional js.sentry-cdn.comSDK de JavaScript de Sentry script-srcOpcional
Ejemplo de configuración de CSP
Incluye solo los domains de los servicios que usas. Elimina cualquier domain de Analytics que no hayas configurado para tu documentación.
Reportar código incorrecto
Content-Security-Policy:
default-src 'self';
script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net www.googletagmanager.com cdn.segment.com plausible.io
us.posthog.com tag.clearbitscripts.com cdn.heapanalytics.com chat.cdn-plain.com chat-assets.frontapp.com
browser.sentry-cdn.com js.sentry-cdn.com;
style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com;
font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com;
img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net;
connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com
api.mintlifytrieve.com www.googletagmanager.com cdn.segment.com plausible.io us.posthog.com browser.sentry-cdn.com;
frame-src 'self' *.mintlify.dev;
Configuraciones comunes por tipo de proxy
La mayoría de los servidores proxy inversos permiten agregar encabezados personalizados.
Configuración de Cloudflare
Crea una regla de transformación de encabezados de respuesta:
En tu dashboard de Cloudflare, ve a Rules > Overview .
Selecciona Create rule > Response Header Transform Rule .
Configura la regla:
Modify response header : Set static
Header name : Content-Security-Policy
Header value :
Reportar código incorrecto
default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;
Publica la regla.
Configuración de AWS CloudFront
Agrega una política de encabezados de respuesta en CloudFront:
Reportar código incorrecto
{
"ResponseHeadersPolicy" : {
"Name" : "MintlifyCSP" ,
"Config" : {
"SecurityHeadersConfig" : {
"ContentSecurityPolicy" : {
"ContentSecurityPolicy" : "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;" ,
"Override" : true
}
}
}
}
}
Agrega en tu vercel.json:
Reportar código incorrecto
{
"headers" : [
{
"source" : "/(.*)" ,
"headers" : [
{
"key" : "Content-Security-Policy" ,
"value" : "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;"
}
]
}
]
}
Identifica infracciones de la CSP en la consola de tu navegador:
Abre las herramientas de desarrollador de tu navegador.
Ve a la pestaña Console .
Busca errores que empiecen por:
Content Security Policy: The page's settings blocked the loading of a resource
Refused to load the script/stylesheet because it violates the following Content Security Policy directive
Refused to connect to because it violates the following Content Security Policy directive