使用自定义域在S3网站上设置索引文档

Yar*_*rin 2 web-hosting amazon-s3

我正在尝试为我的S3托管网站设置索引文档.我有

  1. 在桶上启用网站托管
  2. 将索引文档设置为"index.html"
  3. 上传了index.html文件
  4. 使index.html文件公开.

索引文档在使用原始AWS URL导航到存储桶根目录时有效,但在使用自定义域时不起作用:

http://static.appgrinders.com.s3-website-us-east-1.amazonaws.com/index.html (作品)
的http://static.appgrinders.com.s3-website-us-east-1. amazonaws.com (作品)
http://static.appgrinders.com/index.html (作品)
http://static.appgrinders.com (访问被拒绝 - 403错误)

Mic*_*bot 9

您的DNS配置不正确.

您指向其中一个REST端点(CNAME s3.amazonaws.com),它不支持索引文档.您需要DNS指向网站托管端点,在这种情况下它是CNAME static.appgrinders.com.s3-website.us-east-1.amazonaws.com.此端点在S3控制台中可见.

此更改将解决您的问题.

http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html

错误配置的性质(在我在DNS中确认之前)的赠品是XML错误.托管端点的网站不会返回XML错误 - 它们返回相同的信息,但它包含在一些简单的HTML中,而不是XML中.

但请注意,如果您希望使用SSL访问您的站点,则仍需要使用CloudFront.S3中的自定义域需要CloudFront的SSL支持帮助.与REST端点不同,托管端点的网站根本不会侦听端口443.

在CloudFront配置中,您需要避免相同的错误 - 不要从下拉列表中选择存储桶名称,因为这会将请求发送到REST端点.您需要提供网站端点主机名作为源.