我第一次部署到AWS。 文件全部到位,index.html加载。 子目录中有两个文件,一个.js和一个.css。 它们都返回200但无法加载。 Chrome浏览器是“解析器”。
在尝试了一些事情之后,我注意到这个属性导致它:ContentEncoding: "gzip"
。
如果删除此属性,则可以正确找到文件。
我是否错误地使用了此属性?
我通过这个伟大的项目使用Node AWS SDK:https://github.com/MathieuLoutre/grunt-aws-s3
为自己目睹这种行为答案 0 :(得分:2)
如果指定Content-Encoding: gzip
,则需要确保内容实际上是在S3上进行了压缩。
从我在CSS文件中看到的内容:
http://tidepool.co.s3-website-us-west-1.amazonaws.com/08-26_6483218-dirty/all-min.css
实际内容未进行gzip压缩,但存在Content-Encoding: gzip
标头。
另请注意,S3无法根据请求中的Accept-Encoding
标头动态压缩您的内容。您既可以将其压缩存储,也可以适用于所有浏览器/客户端,或者以压缩格式(gzip / deflate)存储它,它只适用于某些可以处理压缩内容的客户端。
答案 1 :(得分:0)
您还可以查看官方 AWS SDK for Node.js。