请问如何正确设置Content-Type
上传到 S3 存储桶的文件的 HTTP 标头?我们使用 S3 存储桶作为托管静态网站的原始服务器。存储桶通过 Cloudflare CDN 访问。
复制文件后,Content-Type
默认设置为binary/octet-stream
。
当然,我可以在通过 AWS CLI 复制单个文件时进行设置,但即使有合理的自动化,这也是额外的工作,而且除了
.js
、.html
、之外.css
,还有许多images
、fonts
、videos
、json
文件等。为每种文件类型设置正确的内容类型似乎毫无意义。我也可以使用 CDN 上的规则进行设置,但这同样是针对每个文件类型的。
是否无法指示 S3 存储桶使其自动Content-Type
以与 nginx 或 Apache 等 Web 服务器类似的方式进行设置?
答案1
我发现没有问题,这都是由于 MAC OS 版本的云莓- 我们用来将文件复制到 S3 存储桶的 GUI 软件。
当文件被复制到 S3 时, CloudBerry 强制执行binary/octet-stream
内容类型(我不确定为什么,可能是某些设置/选项 - 我没有进一步探究)。切换到 AWS CLI 并覆盖所有文件解决了该问题。