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

Posted

技术标签:

【中文标题】AWS 中的 Elastic Beanstalk 子域 CNAME 记录在哪里,以及如何向其中添加 SSL?【英文标题】:Where in AWS is the Elastic Beanstalk Subdomain CNAME Record, and How to Add SSL to it? 【发布时间】:2021-09-13 05:05:05 【问题描述】:

Your Elastic Beanstalk environment's Domain name 说:

为了将用户路由到您的环境,Elastic Beanstalk 注册了一个 指向您环境的负载均衡器的 CNAME 记录。你可以 查看环境应用程序的 URL,当前值为 Elastic Beanstalk 的环境概览页面中的 CNAME 控制台。

我的简单问题是:

    此 CNAME 记录在 AWS 中的什么位置? 是否可以使这个子域 SSL(将 http 重定向到 https)?

我为什么要这样做?

我的应用程序运行良好,但 Elastic Beanstalk 说我的健康状况“严重”(红色感叹号),而唯一的错误是我故意将我在 Route 53 中的真实域(非 Elastic Beanstalk 子域)重定向到https (443) modifying the load balancer。现在,此 Elastic Beanstalk 子域在未设置时也会路由到 https,这就是导致运行状况错误的原因。

【问题讨论】:

【参考方案1】:

这条 CNAME 记录在 AWS 中的什么位置?

它是 AWS 拥有的域,因此 AWS 将其保存在其系统中。

是否可以使这个子域 SSL(将 http 重定向到 https)?

不,不是,因为它属于 AWS,而不是您。对于正确的 HTTPS,您需要您可以控制的您自己的域。如果您有这样的域,您可以从 AWS ACM 为其免费提供 SSL 证书。

【讨论】:

一旦有人在 Elastic Beanstalk 环境中设置 http 到 https,从那时起“健康”将始终显示“严重”?在负载均衡器上是否可以给这个子域一个例外?或者可以修改健康检查,使其在界面中不显示“严重”? @Jarad HTTPs 应该只用于您的负载均衡器。在负载均衡器和您的实例之间应该有 HTTP。 modifying the load balancer 在负载均衡器上设置两条规则:1) 将 http (80) 重定向到 https (443) 和 2) 转发到目标组 (awseb-AWSEB-...X259)从 ACM 为我的域定义我的 SSL 证书。由于 EB 子域转到端口 80,我认为这就是它重定向的原因。但这会导致“严重”警告。 @Jarad 您的问题没有提供有关您的设置、eb 日志、错误消息的任何详细信息。很难推测。

以上是关于AWS 中的 Elastic Beanstalk 子域 CNAME 记录在哪里,以及如何向其中添加 SSL?的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk 中的 Python:私有包依赖项

AWS Elastic Beanstalk 中的 mysqlclient 安装错误

一个 AWS 账户中的 Elastic Beanstalk 能否与另一个 AWS 账户中的 RDS 通信?

如何解决 AWS Elastic Beanstalk 中的“容器命令构建失败”一般错误?

AWS Elastic Beanstalk 中的 JDBC 连接字符串

AWS Elastic Beanstalk 中的工作人员“dyno”