Route 53记录集在不同的端口上

时间:2013-10-13 19:25:43

标签: amazon-web-services amazon-ec2 dns amazon-route53

我是一个ruby dev,我刚开始学习一些Node.js。

我正在 AWS 上运行一个实例来托管我的 rails 应用,其中乘客+ nginx正在端口80 上进行监听。

现在我想在同一个实例(t1-micro)上托管一个 node.js 应用,并将其用于收听端口8000

如何使用Route 53创建记录集以将 subdomain.domain.com 指向 my.ip:8000

我已经尝试设置指向my.ip:8000的IPV4记录但没有成功。

知道我做错了吗?

我可以使用nginx来提供我的nodejs应用程序吗?

3 个答案:

答案 0 :(得分:14)

这可以通过 S3重定向实现。创建名为

的S3存储桶
subdomain.domain.com

此存储桶不需要公开。然后,在“属性”中启用静态网站托管,然后选择重定向响应选项,并使用以下选项对其进行配置

Target bucket or domain: my.ip:8000
Protocol: Leave this blank

然后转到 Route53 并使用以下配置创建记录集

  • 名称: subdomain.domain.com
  • 输入: A-IPv4地址
  • 别名:
  • Alias Target:选择您刚刚在S3中创建的存储桶。如果没有出现等待它出现。
  • 路由策略:简单
  • 评估目标健康状况:

就是这样,您应该能够前往subdomain.domain.com并看到更改在大约30秒后生效。祝你好运!

答案 1 :(得分:8)

通常,DNS不关心端口。

但是,您应该能够配置nginx以使用node.js应用程序的反向代理处理两个虚拟主机。所有请求都会访问端口80,但它们的处理方式取决于域。

答案 2 :(得分:0)

我遵循了 datasage 的回答中的想法,这就是我的做法!

在 53 号公路上:

  1. 转到您域的托管区域,点击“创建记录”
  2. 在记录名称下输入您的子域。例如,如果您想创建“sub.mywebsite.com”,请输入“sub”
  3. 选择 CNAME 作为记录类型。
  4. 在“值”下输入您的域。例如“mywebsite.com”
  5. 选择适合您的用例的 TTL 值。
  6. 选择“简单路由”
  7. 点击“创建记录”

然后,在你的 Nginx 服务器上创建虚拟主机:

server {
  server_name sub.mywebsite.com;
  location / {
    proxy_pass http://localhost:xxxx;
  }
}

事实上,您可以创建任意数量的!

server {
  server_name sub1.mywebsite.com;
  location / {
    proxy_pass http://localhost:xxxx;
  }
}
server {
  server_name sub2.mywebsite.com;
  location / {
    proxy_pass http://localhost:xxxx;
  }
}

就是这样!