指向 Elastic Beanstalk 环境的外部子域
Posted
技术标签:
【中文标题】指向 Elastic Beanstalk 环境的外部子域【英文标题】:External subdomain pointing to Elastic Beanstalk environment 【发布时间】:2021-06-28 09:35:16 【问题描述】:在这种特殊情况下,我有一个位于不同提供商(AWS 除外)的域和一个 Elastic Beanstalk (EB) 应用程序,该应用程序具有多个环境,每个环境都使用不同的资源。
通过域提供商,我创建了一个名为 - test.tiagoperes.eu
的子域。
我想要的是,通过转到这个子域,任何用户都可以看到当前在名为 production 的 EB 环境中找到的内容,当前在其中访问(app-prod
不是真实名称,但遵循类似的模式)
app-prod.eba-xepr49ar.us-east-1.elasticbeanstalk.com
这是一个包含 Auto Scaling 组、目标组和负载均衡器的环境。
必须做什么?
注意:有a similar question,但它非常笼统(因此答案多种多样)。此外,this question 用于基本 EB 环境。另外,我看过this guide。
【问题讨论】:
通常你会设置一个 CNAME 记录。名称可能不同,具体取决于您的域名提供商。 @Marcin 你的评论把我带到了this link,这反过来又导致我分享的指南 没错。如果您不使用 Route53,则无需修改 AWS。 @Marcin 欢迎您回答并编辑以包含其他认为相关的部分。还没有测试过 谢谢。答案已添加。很高兴它解决了:-) 【参考方案1】:基于 cmets。
OP 使用外部 DNS 提供商(不是 AWS Route53)。因此,应该为子域创建 CNAME 记录或外部提供商中的等效记录。记录应解析为 on ElasticBeanstaslk 的默认名称。
由于 DNS 提供商在 AWS 外部,无需在 AWS 上做任何事情。
更详细地说,在域的 DNS 管理器中,为子域创建 CNAME 记录。例如,如果 EB 子域是:app-prod.eba-xepr49ar.us-east-1.elasticbeanstalk.com
,那么我们应该有一个 app-prod.eba-xepr49ar.us-east-1.elasticbeanstalk.com
的 CNAME 条目。根据Mark B
我们绝不应该使用 Elastic Beanstalk (EB) 直接指向服务器/IP 地址,它应该始终使用 Elastic Beanstalk 提供的 DNS 端点。
根据我们使用的 DNS 主机,可以自己添加 CNAME 记录,也可能需要主机为我们添加。作为示例,如何在 Namecheap 和 GoDaddy 中执行此操作在其文档中进行了说明:
How to Create a CNAME Record For Your Domain Add a CNAME record【讨论】:
以上是关于指向 Elastic Beanstalk 环境的外部子域的主要内容,如果未能解决你的问题,请参考以下文章
AWS 中的 Elastic Beanstalk 子域 CNAME 记录在哪里,以及如何向其中添加 SSL?
AWS Elastic Beanstalk 外部 DNS 未正确路由
如何将域指向路径或路由? AWS Elastic BeanStalk 和 Route 53