Amazon S3静态Web托管不使用自定义域名(点问题)

时间:2013-11-22 05:59:29

标签: amazon-web-services amazon-s3 domain-name

我按照S3 doc上的说明在那里托管了一个静态网站。一切都适用于S3提供的域名。我可以访问“examplebucket.s3-website-us-east-1.amazonaws.com”

然而,当我转发我自己的自定义域名时,域名提供商在我的域的最末端添加了一个点,然后就像我正在访问“examplebucket.s3-website-us-east-1.amazonaws .com。“,这不起作用,因为亚马逊认为你正在访问不同的地址。然后给我404错误。

这有什么解决方法吗?或者我应该在S3中设置的任何地方?

1 个答案:

答案 0 :(得分:0)

我知道这对于原始问题来说太晚了,但可能会有更多人遇到同样的问题(我上周)。

尝试使用CloudFormation在route53中创建路由时遇到了同样的问题。我尝试将我的域www.example.com重定向到example-bucket.s3-website-eu-west-1.amazonaws.com

事实证明,您无法重定向到任意存储桶。存储桶名称必须与您尝试别名的域名相同。因此,如果您要重定向www.example.com,则您的广告管理名称必须为www.example.com,且网址必须为www.example.com.s3-website-eu-west-1.amazonaws.com

此外,cloudformation有一种奇怪的语法。 Cloudformation不需要桶的名称(它已经知道它)。它只需要端点。

所以不要使用像

这样的东西
"AliasTarget": {
               "DNSName" : "example-bucket.s3-website-eu-west-1.amazonaws.com",
               "HostedZoneId" : "<zoneID>"
             },

你需要

"AliasTarget": {
               "DNSName" : "s3-website-eu-west-1.amazonaws.com",
               "HostedZoneId" : "<zoneID>"
             },

并且路由53重定向的位置,因为路由的名称必须与存储桶的名称相同。

相关问题https://stackoverflow.com/a/5048129/54256