我按照S3 doc上的说明在那里托管了一个静态网站。一切都适用于S3提供的域名。我可以访问“examplebucket.s3-website-us-east-1.amazonaws.com”
然而,当我转发我自己的自定义域名时,域名提供商在我的域的最末端添加了一个点,然后就像我正在访问“examplebucket.s3-website-us-east-1.amazonaws .com。“,这不起作用,因为亚马逊认为你正在访问不同的地址。然后给我404错误。
这有什么解决方法吗?或者我应该在S3中设置的任何地方?
答案 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重定向的位置,因为路由的名称必须与存储桶的名称相同。