【问题标题】:How to point SSL Enabled custom Sub Domains to Elastic Beanstalk? (without Route53)如何将启用 SSL 的自定义子域指向 Elastic Beanstalk? (不含 Route53)
【发布时间】:2020-08-16 17:00:33
【问题描述】:

我正在尝试将外部 子域 映射到我的 Elastic Beanstalk 环境中。我知道,常见的方法是使用 Route53 但是当我的客户的域提供商已经提供了 CPanel 和设置CName 和事物。所以,我将按照下面的方法将域设置为 Beanstalk

  1. 登录您的提供商网站并选择您的域
  2. 点击“高级 DNS”
  3. 创建 CNAME 记录。
  4. 主机:www 值:{{enter-your-subdomain}}.elasticbeanstalk.com。
  5. 创建 URL 重定向记录。 主持人: @ 值:http://www.{{your-custom-domain}}.com

通过上述操作,我希望有 subdomain.example.com 而不是 subdomain-region.elasticbeanstalk.com

您可以在此查看详细信息 - https://colintoh.com/blog/map-custom-domain-to-elastic-beanstalk-application

我将把它应用到两件事上。

  1. 位于 Beanstalk 中的 REST API。 (将被少数移动和网络应用程序使用)
  2. 位于 Beanstalk 中的 Web Portal 应用程序。

现在,我可以看到我的客户端已经有几个启用 SSL 的子域用于其他目的。他们从 CA 购买了 SSL。因此,我们可以在 CPanel 中启用 SSL 并将启用 SSL 的子域指向 Beanstalk 吗?或者我们必须重新配置 Route53 中的所有内容并完成设置 SSL 的复杂过程?

【问题讨论】:

  • 您需要下载这些 SSL 证书并上传到 Elastic Beanstalk 实例的 ALB。刚刚提到,AWS ACM 免费颁发 SSL 证书,如果您改用 Route 53 + ACM,我认为它会非常顺利。您需要执行以下操作: - 为要在 Route 53 中管理的子域进行区域委派。 - 在 AWS ACM 中创建 DNS 验证的 ACM 证书。
  • @为什么域重定向不起作用?另外,使用 Route53 意味着我必须更改域的名称服务器,对吗?现在这是可能的,因为客户在这个域下有他的网站和其他一些东西,与 AWS 无关。还有关于 ACM 证书,他们说不要在生产环境中使用。
  • 通过域重定向,我认为您的意思是 302 重定向。在这种情况下,据我了解,默认情况下 AWS 将获取附加到 Beanstalk 的 ALB 的默认 SSL 证书。所以这意味着客户端(比如 Chrome)将在浏览器上看到域名更改为 xxx.elasticbeanstalk.com 而不是 yourdomain.com 。如果这对你来说没问题,那么我认为它会工作得很好。而且您不需要更改域的名称服务器。您可以通过当前注册商中的 SOA 记录对特定子域进行区域委派。
  • 如果您不想要 302 重定向,那么 CNAME 条目 + 将 SSL 证书添加到 Elastic BeanStalk 应该可以完成工作 (docs.aws.amazon.com/elasticbeanstalk/latest/dg/…)。
  • @Siddharth:谢谢。关于最后一条评论,它是关于上传到 IAM,但由于 ACM 在我的地区可用,我认为 ACM 会起作用。您能否提供您的观点作为答案,以及有关区域委派到 Route53 和 ACM 流程的一些信息?那么大家就可以看清楚了

标签: amazon-web-services ssl amazon-elastic-beanstalk cpanel


【解决方案1】:

使用外部供应商颁发的 SSL 证书

从 SSL 供应商的角度来看,您需要三个文件:certificate-chain.pem、https-cert.crt 和 private-key.pem。

步骤如下:

  1. 将证书导入 ACM

    aws acm import-certificate –certificate file://https-cert.crt –private-key file://private-key.pem –certificate-chain file://certificate-chain.pem

  2. 导入完成后,从控制台编辑 AWS Elasticbeanstalk 中的负载均衡器设置以选择导入的证书。详细的分步说明请参考https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-elb.html

使用来自 AWS ACM 的 SSL 证书

步骤如下:

  1. 在 Route 53 中创建一个公共托管区域,其中包含讨论中的子域(例如 app.mydomain.com)。 AWS 将返回多个 ns 服务器名称。
  2. 在现有域注册商中为 app.mydomain.com 创建一条 SOA 记录,指向步骤 1 中返回的 ns 服务器名称。
  3. 转到 ACM 并为 app.mydomain.com 创建域验证证书。
  4. 从控制台编辑 AWS Elasticbeanstalk 中的负载均衡器设置以选择新的 ACM 证书。详细的分步说明请参考https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-elb.html

【讨论】:

  • 我想我们也可以从他们那里获得免费的公共证书,对吧?它们真的是免费的还是收费的?
  • 亚马逊颁发的公共证书是免费的。但是,如果您创建私有 CA,则需要付费。您可以在aws.amazon.com/certificate-manager/pricing阅读详细信息。
猜你喜欢
  • 2014-08-22
  • 2020-05-05
  • 2021-06-28
  • 2019-01-10
  • 2020-08-28
  • 2016-09-29
  • 2019-08-28
  • 2013-03-13
  • 2016-11-14
相关资源
最近更新 更多