我有一个非常简单的网站,字面上只是一个HTML文件,里面有一些文字。我将我的存储桶配置为托管,并将主页设置为index.html。我在此处根据AWS教程设置了权限:https://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html
出于某种原因,当我点击网站端点时,会提示Chrome保存名为“download”的文件。如果我保存文件并打开它,它只是空白,零字节。为什么我的index.html文件没有提供?
更新:我修复了空文件问题,但它仍然想下载我的页面而不是在浏览器中打开它...
已修复:内容类型设置不正确。上传文件时,我必须明确将内容类型属性设置为text / html或text / css。
答案 0 :(得分:5)
您需要为您的html网页正确设置元数据 - content-type
为text/html
。一旦完成,浏览器将开始在浏览器中呈现页面而不是下载它们。
答案 1 :(得分:0)
我遇到了这个问题。将我的静态网站从http更改为https后,所有链接都不会加载页面,而是下载了名为“下载”的空(0kB)文件。 Web控制台警告“资源被解释为文档,但以MIME类型binary / octet-stream传输”。当我签入AWS S3时,HTML索引文件都具有正确的MIME类型text / html。
我的解决方案是,需要从S3存储桶的static-web-hosting终结点属性中复制粘贴CloudFront Distribution的“原始域名”,而不是从选项的下拉列表中选择。