如何为 S3 存储桶上传的所有文件设置正确的 Content-Type HTTP 标头?

如何为 S3 存储桶上传的所有文件设置正确的 Content-Type HTTP 标头?

请问如何正确设置Content-Type上传到 S3 存储桶的文件的 HTTP 标头?我们使用 S3 存储桶作为托管静态网站的原始服务器。存储桶通过 Cloudflare CDN 访问。

复制文件后,Content-Type默认设置为binary/octet-stream

  • 当然,我可以在通过 AWS CLI 复制单个文件时进行设置,但即使有合理的自动化,这也是额外的工作,而且除了.js.html、之外.css,还有许多imagesfontsvideosjson文件等。为每种文件类型设置正确的内容类型似乎毫无意义。

  • 我也可以使用 CDN 上的规则进行设置,但这同样是针对每个文件类型的。

是否无法指示 S3 存储桶使其自动Content-Type以与 nginx 或 Apache 等 Web 服务器类似的方式进行设置?

答案1

我发现没有问题,这都是由于 MAC OS 版本的云莓- 我们用来将文件复制到 S3 存储桶的 GUI 软件。

当文件被复制到 S3 时, CloudBerry 强制执行binary/octet-stream内容类型(我不确定为什么,可能是某些设置/选项 - 我没有进一步探究)。切换到 AWS CLI 并覆盖所有文件解决了该问题。

相关内容