【问题标题】:Amazon S3 static web hosting not working with custom domain name (dot issue)Amazon S3 静态 Web 托管不适用于自定义域名(点问题)
【发布时间】:2013-12-06 22:19:31
【问题描述】:

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

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

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

【问题讨论】:

  • 我认为您可能误诊了这一点,因为 CNAME 引用的域与定义 CNAME 本身的区域不同......总是必须以点结尾。这是正常的,不应该破坏任何东西。
  • 另外...您网站的主机名(您要“转发”的网站)必须与存储桶的名称完全相同相同。网站“example.com”只能在名为“example.com”的存储桶中运行,而网站“www.example.com”只能在名为“www.example”的存储桶中运行。 com" ...两者不可互换,您无法使用 DNS 和 S3 静态网站托管将域名成功映射到任何其他名称的存储桶。这是你在做什么?

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


【解决方案1】:

我知道这对于最初的问题来说为时已晚,但可能会有更多人遇到同样的问题(我上周)。

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

事实证明,您无法重定向到任意存储桶。存储桶名称必须与您尝试使用别名的域相同。所以如果你想重定向www.example.com,你的bucket名称必须是www.example.com,并且URL必须是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>"
             },

还有route53重定向到哪里,因为路由的名字必须和bucket的名字一样。

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

【讨论】:

    猜你喜欢
    • 2017-03-23
    • 2017-07-20
    • 1970-01-01
    • 2017-01-20
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    相关资源
    最近更新 更多