我正在尝试为我的S3托管网站设置索引文档。我已经
了索引文档在使用原始AWS网址导航到存储桶根目录时有效,但在使用自定义域时不起作用:
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错误)
答案 0 :(得分:8)
您的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端点。您需要提供网站端点主机名作为源。