在ACM中为Elastic Beanstalk后端申请证书

时间:2018-03-05 19:35:25

标签: amazon-web-services ssl elastic-beanstalk aws-certificate-manager

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

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

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

我发现了关于该主题的各种文章。但他们都认为我已经签发了证书。

问题在于,当我尝试通过ACM向Elastic Beanstalk提供的URL(my-website.eu-west-2.elasticbeanstalk.com)请求证书时,请求被拒绝,并出现以下错误:< / p>

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(如弹性beanstalk提供的URL)来请求SSL证书?

如果我的术语不正确,请道歉。我对这些东西都很陌生。

2 个答案:

答案 0 :(得分:1)

您无法为亚马逊域名注册SSL证书(amazonaws.com,elasticbeanstalk.com等)

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

  1. 向DNS注册商注册域名。
  2. 通过ACM为该域申请SSL证书。
  3. 将该ACM证书分配给您的Elastic Beanstalk应用程序。
  4. 将您的域指向Elastic Beanstalk应用程序,为外部DNS指定CNAME,为Route 53指定CNAME或ALIAS。
  5. 通过您的域名访问EB应用程序,而不是弹性豆秆分配的地址。

答案 1 :(得分:0)

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

我最终做的很简单。我使用route53创建另一个带有url api.my-website.com的Alias记录,该记录指向我的Elastic Beanstalk后端。

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

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

我会把它留在这里以防万一有人和我一样新。