不同端口上的 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 记录集的主要内容,如果未能解决你的问题,请参考以下文章
CloudFront 分配未显示为 Route53 别名目标
将 www 子域重定向到 Route 53 上的顶点(裸)域(不使用 S3)?