- Node.js 版本:
- NPM版本:v18.16.0
- 斯特拉皮版本:4.11.1
- 数据库:Postgresql
- 操作系统:MacOS
- 你的项目是Javascript还是Typescript:Typescript
图像 URL 和 API 存在奇怪的行为。我在 Cloudfront 上设置了 @strapi/provider-upload-aws-s3 (请参阅下面的配置),如果我查询上传及其各自的 URL,我会得到 Cloudfront URL,但如果我查询相关实体,在我的例子中为“产品”以及它们各自的图像和 URL,然后我得到带有签名的 S3 URL。我绝对不想向用户公开 S3 URL,而只想使用 Cloudfront。
我显示的图像适用于 Graphql API,但 REST API 也会发生同样的情况。我认为解决此问题的方法是分别查询图像和产品,然后自己加入数据,但似乎 Strapi 应该更好地处理这种情况。
查询:
使用 Cloudfront URL 上传:
具有 S3 URL 的产品:
S3配置:
重现行为的步骤- 使用像我这样的配置设置 S3 上传插件(主要取自文档)
- 上传一些图片,创建另一种与图片相关的内容类型
- 通过API查询图片的URL
- 查看相关图像如何使用 S3 URL
我期望 Cloudfront URL 能够在任何地方一致地返回。
如果您需要更多信息来诊断,请告诉我,谢谢。