不同端口上的 Route 53 记录集

Posted

技术标签:

【中文标题】不同端口上的 Route 53 记录集【英文标题】:Route 53 Record Set on Different Port 【发布时间】:2013-10-21 08:56:12 【问题描述】:

我是一名 ruby​​ 开发人员,刚开始学习一些 Node.js。

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

现在我想在同一个实例 (t1-micro) 上托管一个 node.js 应用程序并让它在 port 8000 上监听。

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

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

知道我做错了什么吗?

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

【问题讨论】:

【参考方案1】:

一般来说,DNS 不关心端口。

但是,您应该能够将 nginx 配置为使用 node.js 应用程序的反向代理来处理两个虚拟主机。所有请求都会到达端口 80,但如何处理它们取决于域。

【讨论】:

Nginx 示例:serverfault.com/questions/208656/… 我觉得这是真正的答案。我会将您的子域设置为指向具有 nginx 的主机,并允许 nginx 基于子域路由请求。【参考方案2】:

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

的 S3 存储桶
subdomain.domain.com

此存储桶不需要公开。然后,在 Properties 中打开 Static Website Hosting 并选择 Redirect response 选项并使用以下选项进行配置

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

然后去Route53,创建一个Record Set,配置如下

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

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

【讨论】:

这很好,是一个被低估的答案。谢谢! 所以,只是为了理解,S3 只是一种允许我们设置端口的变通方法,它与用于存储的常规“s3 存储桶”无关,对吧? 太棒了 - 虽然一旦连接就可以在 URL 中隐藏 IP 地址吗? 在我的情况下,ip 地址映射错误,ip 类似于“http//myip:80//”,因为您可以看到 url 缺少“:”并且有一个额外的“/”在最后我不知道为什么?任何帮助将不胜感激。 对不起,这是否意味着我必须创建一个存储桶并仅为路由支付另一项服务?如果我在 ec2 实例上有超过 1 个 tomcat(或另一台服务器),我必须为每个实例创建一个 s3?【参考方案3】:

我从datasage的回答中得到了这个想法,这就是我的做法!

在 53 号公路上:

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

然后,在你的 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;
  

就是这样!

【讨论】:

以上是关于不同端口上的 Route 53 记录集的主要内容,如果未能解决你的问题,请参考以下文章

我可以在不同的托管区域中拥有一个 route53 子域吗?

Route 53 URL 转发到弹性负载均衡器

CloudFront 分配未显示为 Route53 别名目标

将 www 子域重定向到 Route 53 上的顶点(裸)域(不使用 S3)?

我可以在 Route53 中创建指向非 aws 主机的 CNAME 吗?

使用 cloudwatch 警报进行 AWS route53 故障转移