> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify-docs-automation-github-pr-review.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 内容安全策略（CSP）配置

> 配置内容安全策略标头，在允许 Mintlify 资源的同时，为反向代理和严格网络策略维护安全性。

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

<div id="csp-directives">
  ## CSP 指令
</div>

以下 CSP 指令控制页面可加载的资源：

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

<div id="domain-allowlist">
  ## 域名允许列表
</div>

| 域名                                    | 用途                                        | CSP 指令                                                                                | 是否必需 |
| :------------------------------------ | :---------------------------------------- | :------------------------------------------------------------------------------------ | :--- |
| `d4tuoctqmanu0.cloudfront.net`        | KaTeX CSS、字体                              | `style-src`, `font-src`                                                               | 必需   |
| `*.mintlify.site`                     | 文档内容                                      | `connect-src`, `frame-src`                                                            | 必需   |
| `*.mintlify.com`                      | 控制台、API、分析代理                              | `connect-src`                                                                         | 必需   |
| `leaves.mintlify.com`                 | AI 助手 API                                 | `connect-src`                                                                         | 必需   |
| `d3gk2c5xim1je2.cloudfront.net`       | 图标、图像、徽标                                  | `img-src`                                                                             | 必需   |
| `d1ctpt7j8wusba.cloudfront.net`       | Mint 版本与发行文件                              | `connect-src`                                                                         | 必需   |
| `mintcdn.com`                         | 图像、网站图标                                   | `img-src`, `connect-src`                                                              | 必需   |
| `*.mintcdn.com`                       | 图像、网站图标                                   | `img-src`, `connect-src`                                                              | 必需   |
| `cdn.jsdelivr.net`                    | OG 图片的表情资源                                | `script-src`, `img-src`                                                               | 必需   |
| `mintlify.s3.us-west-1.amazonaws.com` | 托管在 S3 上的图像                               | `img-src`                                                                             | 必需   |
| `hcaptcha.com`                        | hCaptcha 验证码验证                            | `script-src`, `frame-src`, `style-src`, `connect-src`, `unsafe-eval`, `unsafe-inline` | 必需   |
| `*.hcaptcha.com`                      | hCaptcha 验证码验证                            | `script-src`, `frame-src`, `style-src`, `connect-src`, `unsafe-eval`, `unsafe-inline` | 必需   |
| `fonts.googleapis.com`                | Google 字体                                 | `style-src`, `font-src`                                                               | 可选   |
| `www.googletagmanager.com`            | Google Analytics/Google Tag Manager (GTM) | `script-src`, `connect-src`                                                           | 可选   |
| `cdn.segment.com`                     | Segment 分析                                | `script-src`, `connect-src`                                                           | 可选   |
| `plausible.io`                        | Plausible 分析                              | `script-src`, `connect-src`                                                           | 可选   |
| `us.posthog.com`                      | PostHog 分析                                | `connect-src`                                                                         | 可选   |
| `tag.clearbitscripts.com`             | Clearbit 追踪                               | `script-src`                                                                          | 可选   |
| `cdn.heapanalytics.com`               | Heap 分析                                   | `script-src`                                                                          | 可选   |
| `chat.cdn-plain.com`                  | Plain 聊天小部件                               | `script-src`                                                                          | 可选   |
| `chat-assets.frontapp.com`            | Front 聊天小部件                               | `script-src`                                                                          | 可选   |
| `browser.sentry-cdn.com`              | Sentry 错误监控                               | `script-src`, `connect-src`                                                           | 可选   |
| `js.sentry-cdn.com`                   | Sentry JavaScript SDK                     | `script-src`                                                                          | 可选   |

<div id="example-csp-configuration">
  ## 示例 CSP 配置
</div>

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

```text wrap theme={null}
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 hcaptcha.com *.hcaptcha.com;
style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com hcaptcha.com *.hcaptcha.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 mintlify.s3.us-west-1.amazonaws.com;
connect-src 'self' *.mintlify.site *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com
www.googletagmanager.com cdn.segment.com plausible.io us.posthog.com browser.sentry-cdn.com hcaptcha.com *.hcaptcha.com;
frame-src 'self' *.mintlify.site hcaptcha.com *.hcaptcha.com;
```

<div id="common-configurations-by-proxy-type">
  ## 按代理类型划分的常见配置
</div>

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

<div id="cloudflare-configuration">
  ### Cloudflare 配置
</div>

创建一个 Response Header Transform 规则：

1. 在 Cloudflare 控制台，进入 **Rules > Overview**。
2. 选择 **Create rule > Response Header Transform Rule**。
3. 配置该规则：

* **Modify response header**：设置为 static
  * **Header name**：`Content-Security-Policy`
  * **Header value**：
    ```text wrap theme={null}
    default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net hcaptcha.com *.hcaptcha.com; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com hcaptcha.com *.hcaptcha.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 mintlify.s3.us-west-1.amazonaws.com; connect-src 'self' *.mintlify.site *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com hcaptcha.com *.hcaptcha.com; frame-src 'self' *.mintlify.site hcaptcha.com *.hcaptcha.com;
    ```

4. 部署该规则。

<div id="aws-cloudfront-configuration">
  ### AWS CloudFront 配置
</div>

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

```json theme={null}
{
"ResponseHeadersPolicy": {
    "Name": "MintlifyCSP",
    "Config": {
    "SecurityHeadersConfig": {
        "ContentSecurityPolicy": {
        "ContentSecurityPolicy": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net hcaptcha.com *.hcaptcha.com; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com hcaptcha.com *.hcaptcha.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 mintlify.s3.us-west-1.amazonaws.com; connect-src 'self' *.mintlify.site *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com hcaptcha.com *.hcaptcha.com; frame-src 'self' *.mintlify.site hcaptcha.com *.hcaptcha.com;",
        "Override": true
        }
      }
    }
  }
}
```

<div id="vercel-configuration">
  ### Vercel 配置
</div>

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

```json theme={null}
{
"headers": [
    {
    "source": "/(.*)",
    "headers": [
        {
        "key": "Content-Security-Policy",
        "value": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net hcaptcha.com *.hcaptcha.com; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com hcaptcha.com *.hcaptcha.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 mintlify.s3.us-west-1.amazonaws.com; connect-src 'self' *.mintlify.site *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com hcaptcha.com *.hcaptcha.com; frame-src 'self' *.mintlify.site hcaptcha.com *.hcaptcha.com;"
        }
      ]
    }
  ]
}
```

<div id="troubleshooting">
  ## 疑难解答
</div>

在浏览器控制台中定位 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`
