2

我一周前才开始使用 AWS。我通过 Elastic Beanstalk 在 Docker 容器中部署了 NodeJS 后端。以及通过 CloudFront 在 S3 中的前端 Angular5 应用程序。

我在 GoDaddy 上购买了一个域名并将其配置为指向我的 CloudFront Angular5 应用程序。我还为该域生成了一个 SSL 证书(用于前端)。但是,由于后端不安全,来自前端应用程序的所有请求都被阻止。

因此,据我了解,下一步是为 ElasticBeanstalk NodeJS 后端配置 HTTPS。

我找到了有关该主题的各种文章。但他们都假设我已经颁发了证书。

问题是,当我尝试通过 ACM 为 Elastic Beanstalk 给我的 URL (my-website.eu-west-2.elasticbeanstalk.com) 请求证书时,请求被拒绝并出现以下错误:

Request failed The status of this certificate request is "Failed". Additional verification required to request certificates for one or more domain names in this request.

在这种情况下我能做什么?甚至可以使用 aws 提供的 URL(如 elastic beanstalk 提供的 URL)来请求 SSL 证书吗?

抱歉,如果我的术语不是很正确。我对所有这些东西都很陌生。

4

2 回答 2

3

您无法为 Amazon 域(amazonaws.com、elasticbeanstalk.com 等)注册 SSL 证书

如果您想为您的 Elastic Beanstalk 应用程序(内部或外部)使用 HTTPS,则必须使用您自己的域。

  1. 向 DNS 注册商注册域。
  2. 通过 ACM 为该域请求 SSL 证书。
  3. 将该 ACM 证书分配给您的 Elastic Beanstalk 应用程序。
  4. 将您的域指向 Elastic Beanstalk 应用程序,CNAME 用于外部 DNS,CNAME 或 ALIAS 用于 Route 53。
  5. 通过您的域名而不是 elasticbeanstalk 分配的地址访问 EB 应用程序。
于 2018-03-05T20:40:50.717 回答
1

是的,正如马特豪泽所说,这是不可能的。我只是想知道我是否应该获得另一个域名。

我最终所做的很简单。我使用 route53 创建另一个别名记录,其 URL 为 api.my-website.com,指向我的 Elastic Beanstalk 后端。

然后使用 ACM,我为 api.my-website.com 和 (www.)my-website.com 颁发了两个单独的 SSL 证书,以在前端和后端启用 HTTPS,并将它们相应地附加到 ElasticBeanstalk 和 CloudFront。AWS 提供的服务看起来非常简单。

结果如下:https ://my-next-movie.com

我会把它留在这里,以防有人像我一样对这一切不熟悉。

于 2018-03-06T16:57:13.937 回答