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

CSP 指令

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

域名白名单

示例 CSP 配置

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

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

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

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