Passer au contenu principal
La Content Security Policy (CSP) est une norme de sécurité qui aide à prévenir les attaques de cross-site scripting (XSS) en contrôlant les ressources qu’une page web est autorisée à charger. Mintlify fournit une CSP par défaut qui protège la plupart des sites. Si vous hébergez votre documentation derrière un reverse proxy ou un pare-feu qui remplace la CSP par défaut, vous devrez peut-être configurer les en-têtes CSP pour que certaines fonctionnalités fonctionnent correctement.

Directives CSP

Les directives CSP suivantes contrôlent quelles ressources une page peut charger :
  • script-src : contrôle les scripts pouvant s’exécuter
  • style-src : contrôle les feuilles de style pouvant se charger
  • font-src : contrôle les polices pouvant se charger
  • img-src : contrôle les images, icônes et logos pouvant se charger
  • connect-src : contrôle les URL auxquelles il est possible de se connecter pour les appels à l’API et les connexions WebSocket
  • frame-src : contrôle les URL pouvant être intégrées dans des frames ou des iframes
  • default-src : valeur de repli pour les autres directives lorsqu’elles ne sont pas explicitement définies

Liste d’autorisation des domaines

DomaineFinalitéDirective CSPObligatoire
d4tuoctqmanu0.cloudfront.netCSS et polices KaTeXstyle-src, font-srcObligatoire
*.mintlify.siteContenu de la documentationconnect-src, frame-srcObligatoire
*.mintlify.comDashboard, API, proxy d’Analyticsconnect-srcObligatoire
leaves.mintlify.comAPI Assistantconnect-srcObligatoire
d3gk2c5xim1je2.cloudfront.netIcônes, images, logosimg-srcObligatoire
d1ctpt7j8wusba.cloudfront.netFichiers de version et de publication Mintconnect-srcObligatoire
mintcdn.comImages, faviconsimg-src, connect-srcObligatoire
*.mintcdn.comImages, faviconsimg-src, connect-srcObligatoire
cdn.jsdelivr.netRessources emoji pour images OGscript-src, img-srcObligatoire
mintlify.s3.us-west-1.amazonaws.comImages hébergées sur S3img-srcObligatoire
hcaptcha.comVérification CAPTCHA hCaptchascript-src, frame-src, style-src, connect-src, unsafe-eval, unsafe-inlineObligatoire
*.hcaptcha.comVérification CAPTCHA hCaptchascript-src, frame-src, style-src, connect-src, unsafe-eval, unsafe-inlineObligatoire
fonts.googleapis.comGoogle Fontsstyle-src, font-srcFacultatif
www.googletagmanager.comGoogle Analytics/Google Tag Manager (GTM)script-src, connect-srcFacultatif
cdn.segment.comSegment Analyticsscript-src, connect-srcFacultatif
plausible.ioPlausible Analyticsscript-src, connect-srcFacultatif
us.posthog.comPostHog Analyticsconnect-srcFacultatif
tag.clearbitscripts.comSuivi Clearbitscript-srcFacultatif
cdn.heapanalytics.comHeap Analyticsscript-srcFacultatif
chat.cdn-plain.comWidget de chat Plainscript-srcFacultatif
chat-assets.frontapp.comWidget de chat Frontscript-srcFacultatif
browser.sentry-cdn.comSuivi des erreurs Sentryscript-src, connect-srcFacultatif
js.sentry-cdn.comSDK JavaScript Sentryscript-srcFacultatif

Exemple de configuration CSP

Incluez uniquement les domains des services que vous utilisez. Supprimez tous les domains d’Analytics que vous n’avez pas configurés pour votre documentation.

Configurations courantes selon le type de proxy

La plupart des reverse proxies prennent en charge l’ajout d’en-têtes personnalisés.

Configuration Cloudflare

Créez une règle de transformation des en-têtes de réponse :
  1. Dans votre Dashboard Cloudflare, accédez à Rules > Overview.
  2. Sélectionnez Create rule > Response Header Transform Rule.
  3. Configurez la règle :
  • Modify response header: Set static
    • Header name: Content-Security-Policy
    • Header value:
  1. Déployez la règle.

Configuration de AWS CloudFront

Ajoutez une stratégie d’en-têtes de réponse dans CloudFront :

Configuration de Vercel

Ajoutez ceci à votre vercel.json :

Dépannage

Identifiez les violations de la CSP dans la console de votre navigateur :
  1. Ouvrez les outils de développement de votre navigateur.
  2. Accédez à l’onglet Console.
  3. Recherchez des erreurs commençant par :
    • 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