AWS:将子域指向不同的弹性 beanstalk 环境

Posted

技术标签:

【中文标题】AWS:将子域指向不同的弹性 beanstalk 环境【英文标题】:AWS: Pointing sub-domains to different elastic beanstalk environments 【发布时间】:2019-07-05 09:03:32 【问题描述】:

使用 Amazon AWS,我有两个 Elastic Beanstalk 环境。一个托管我的 React 客户端,另一个托管客户端的 Node.js API。

我拥有some-domain-name.com,我想使用两个子域:

app.some-domain-name.com api.some-domain-name.com

我希望app.some-domain-name.com 指向 React 环境,api.some-domain-name.com 指向 API 环境。

有没有使用 Route 53 和托管区域的好方法?过去,我将不同子域上的流量重新路由到同一台服务器上的不同端口。但是,我无法根据子域将请求路由到不同的服务器。谢谢!

【问题讨论】:

【参考方案1】:

只需在您使用的任何 DNS 主机中创建 2 个 CNAME 记录,每个子域一个。这是最基本的 DNS 使用方式,所以任何 DNS 主机都会支持,不需要 Route53,除非你已经在使用它。

【讨论】:

嗨,马克,感谢您的回复。我理解它的方式,CNAME 实际上不会指向不同的服务器,而是将请求与子域作为某个域的替代路径。即www.some-domain-name.comapi.some-domain-name.com 都将重定向到指向some-domain-name.com的服务器 @Andrew 我认为你理解错了,但我什至不明白你的评论在说什么。您永远不应该使用 Elastic Beanstalk 直接指向服务器/IP 地址,您应该始终使用 Elastic Beanstalk 提供的 DNS 终端节点。您已经有 2 个 DNS 终端节点,一个用于您的每个 Elastic Beanstalk 环境。现在您需要创建 2 个 CNAME 记录,它们指向两个弹性 beanstalk DNS 端点。 app 将指向 React 应用程序,api 将指向 NodeJS 环境。如果您使用的是 Route53,则可以改用 alias 类型的 A 记录。

以上是关于AWS:将子域指向不同的弹性 beanstalk 环境的主要内容,如果未能解决你的问题,请参考以下文章

AWS Route53 指向弹性 beanstalk webapp

如何使 DNS ARecord 指向 AWS 弹性 beanstalk 负载均衡器?

AWS 中的 Elastic Beanstalk 子域 CNAME 记录在哪里,以及如何向其中添加 SSL?

防止使用 AWS 账户下载弹性 beanstalk 应用程序?

无法将数据库迁移到 AWS 弹性 Beanstalk

使用 AWS Route 53 路由到文件路径