跳转到主要内容
内容安全策略(CSP)是一项安全标准,通过控制网页可加载的资源来帮助防止跨站脚本(XSS)攻击。Mintlify 提供了默认的 CSP,可保护大多数站点。如果你在反向代理或防火墙后托管文档,并覆盖了默认的 CSP,则可能需要配置 CSP 标头以确保各项功能正常运行。

CSP 指令

以下 CSP 指令控制页面可加载的资源:
  • script-src:控制可运行的脚本
  • style-src:控制可加载的样式表
  • font-src:控制可加载的字体
  • img-src:控制可加载的图像、图标和徽标
  • connect-src:控制可连接的用于 API 调用和 WebSocket 连接的 URL
  • frame-src:控制可嵌入 frame 或 iframe 的 URL
  • default-src:未显式设置其他指令时的回退项

域名允许列表

示例 CSP 配置

仅包含你实际使用的服务的 domain。删除你尚未为文档配置的任何 Analytics 相关 domain。

按代理类型划分的常见配置

大多数反向代理都支持添加自定义请求头。

Cloudflare 配置

创建一个 Response Header Transform 规则:
  1. 在 Cloudflare 控制台,进入 Rules > Overview
  2. 选择 Create rule > Response Header Transform Rule
  3. 配置该规则:
  • Modify response header:设置为 static
    • Header nameContent-Security-Policy
    • Header value
  1. 部署该规则。

AWS CloudFront 配置

在 CloudFront 中添加一个响应标头策略:

Vercel 配置

将以下内容添加到你的 vercel.json

疑难解答

在浏览器控制台中定位 CSP 违规:
  1. 打开浏览器的开发者工具。
  2. 切换到 Console 标签页。
  3. 查找以下前缀的错误信息:
    • 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