Strapi v4-上传到S3的图像不会显示在媒体库中



我正在试用新的Strapi v4。我安装了provider-upload-aws-s3将我的图像上传到s3并进行了配置。我确实在s3存储桶中看到了我的图像,但在媒体库中没有看到。我检查了请求,我看到我得到了这个错误:

内容安全策略:页面设置阻止加载{我的img URL}上的资源。

当尝试在浏览器中直接获取具有相同URL的图像时,正在加载图像。

我相信这与这个警告有关(引用Strapi文档(:

Strapi有一个默认的安全中间件,它有一个非常严格的contentSecurityPolicy,将加载图像和媒体限制为"self";请参阅提供者页面上的示例配置,或者查看我们的middleare文档以了解更多信息。

但我不知道该如何处理它以及如何覆盖它。那么,我如何使上传到S3的图像显示在媒体库中呢?

好吧,在这一点上,我真的很确定这是一个错误,并在Strapi Github问题上报告了它。但根据这个答案,我收到了一些必须在middlewares.js文件中完成的更多配置:

module.exports = [
"strapi::errors",
{
name: "strapi::security",
config: {
contentSecurityPolicy: {
useDefaults: true,
directives: {
"connect-src": ["'self'", "https:"],
"img-src": [
"'self'",
"data:",
"blob:",
"your-s3-url",
],
"media-src": ["'self'", "data:", "blob:"],
upgradeInsecureRequests: null,
},
},
},
},
"strapi::cors",
"strapi::poweredBy",
"strapi::logger",
"strapi::query",
"strapi::body",
"strapi::favicon",
"strapi::public",
];

我把your-s3-url改成了*.amazonaws.com,然后一切都成功了。

最新更新