解决 Strapi.io 内容安全策略错误

JP *_*tra 3 content-security-policy strapi

到目前为止的情况:
我有一个Strapi实例在默认端口 1337 上运行。DNS 已正确设置以将流量从 cms.mysite.com 导航到服务器的公共 IP 地址,并且 IIS 网站配置了反向代理将流量从 cms.mysite.com 引导到端口 1337。 Strapi 本身被指示通过计划任务和 cmd 命令启动服务器“开机”。我还设置了 SSL 证书,以便可以与https://cms.mysite.com进行安全通信。

问题:当我从服务器外部的浏览器
导航到https://cms.mysite.com时,我正确地获取了无头 CMS 的“主页”页面。

在此输入图像描述

但是,如果我单击“打开管理”,则会遇到 CSP 错误

在此输入图像描述

在此输入图像描述

我确信我错过了一步。按照官方动手教程后,我没有具体配置任何内容。我觉得这与安全中间件有关,特别是与内容安全策略相关的安全标头,但很难确切地知道如何处理该config/middleware.js文件。

非常感谢您的一点帮助。

编辑:我觉得这实际上是一个反向代理问题,因为如果我将错误 https://localhost:1337/admin/project-type 中的 localhost 替换为https://cms.mysite.com/admin/project-type我得到有效的响应:
在此输入图像描述

小智 9

遇到了同样的问题。

首先,更改了默认的安全中间件/config/middlewares.js

// ...
  {
    name: 'strapi::security',
    config: {
      contentSecurityPolicy: {
        useDefaults: true,
        directives: {
          'connect-src': ["'self'", 'http:', 'https:'],
          upgradeInsecureRequests: null,
        },
      },
    },
  },
// ...
Run Code Online (Sandbox Code Playgroud)

之后我发现管理资产仍在从localhost:1337.
因此,在 GH 上查看此问题后,我url在 中设置了参数config/server.js。看来有帮助。

希望这可以帮助!

PS 并且不要忘记在更改配置后重新构建所有内容。