AWS - 输入域URL时没有此类存储桶错误

时间:2016-02-10 13:42:20

标签: javascript node.js amazon-web-services amazon-ec2 dns

我已将Node应用程序部署到Amazon EC2实例上。然后我尝试将我的域指向此实例。我按照http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-configure-route53.html的指南进行了操作。

我创建了一个托管区域,进入mydomain.com。

然后我为域和子域创建了记录集。

在为doman创建记录时,我输入了以下详细信息:

  • 对于类型I,选择" A - IPv4地址"
  • 对于别名我选择"是"。
  • 对于Alias Target,指南说"从列表中选择您的根域网站端点(例如,example.com)"。但是,对我来说,下拉列表没有我的域名。它只有"没有目标可用"。我搜索了一些论坛,很多人都有这个问题,建议是进入" s3-website-eu-west-1.amazonaws.com"我做了。

我为子域做了同样的事情,再次进入" s3-website-eu-west-1.amazonaws.com"。

然后我去了我购买域名的服务并输入了名称服务器。

然而,当我转到我的网址时,我得到:

Code: NoSuchBucket
Message: The specified bucket does not exist
BucketName: mydomain.com
RequestId: 656B653A2ED5B2B1
HostId: 9etNAX1XEJmbVKUAMylBDz3xEky+7RhAnr9b8HhpkIb9+pkMnn920v/MSAUjr78oyONEUdlba50=

任何想法我做错了什么?

2 个答案:

答案 0 :(得分:0)

如果您使用的是EC2,则必须将Route53配置为指向EC2,而不是S3。 S3用于static网络托管,EC2用于dynamic。话虽如此,我强烈建议切换到EBS,将域名指向EBS目的地要容易得多,否则会有更多设置。对于Route53到EC2:

  1. 导航至EC2并点击Elastic IP
  2. 注册新的弹性IP地址
  3. 将此地址与您的实例相关联
  4. 转到实例,您应该看到蓝色的IP地址超链接而不是黑色的
  5. 返回Route53>托管区域>你是域名
  6. 在托管区域中创建资源记录集。
  7. 选择A型 - Ipv4地址。
  8. 对于Value,请指定Amazon EC2实例的弹性IP地址。
  9. 另外,如果您使用的是第三方供应商,您只需将NS记录(与Route53匹配)和提供商网站中的弹性IP放在一起。 (我建议将它交换到AWS,这样更容易)

    <强>更新

    @Mark也有端口连接问题:

    1. 导航您的app.js文件或./bin/www(如果您使用的是express)并将侦听端口更改为80
    2. 检查您的实例安全组,确保其显示为incoming access: HTTP Port: 80
    3. 这是一个常见错误,因为当您使用端口80时,本地开发并不喜欢。因此频繁默认为30008080等。

答案 1 :(得分:0)

documentation

  

为网站托管配置Amazon S3存储桶时,必须为存储桶提供与记录相同的名称,您要使用该记录将流量路由到存储桶。例如,如果您要example.com的流量路由到配置用于网站托管的S3存储桶,则存储桶的名称必须为`example.com

  

如果您要将流量路由到配置用于网站托管的S3存储桶,但存储桶的名称未出现在Amazon Route 53控制台的Alias Target列表中,或者您尝试以编程方式创建别名记录,并且从Route 53 API,AWS开发工具包,AWS CLI或适用于Windows PowerShell的AWS工具中收到InvalidInput错误,请检查以下内容:

     
      
  • 存储桶的名称与记录的名称完全匹配,例如example.com或www.example.com。

  •   
  • 已正确配置S3存储桶以用于网站托管。有关更多信息,请参阅Amazon Simple Storage Service开发人员指南中的在Amazon S3上托管静态网站。

  •