我正在根据需要使用AMI按需使用Java SDK旋转新的EC2实例http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/welcome.html
我正在端口8000上从AMI新传输的EC2实例上托管其他API。我想仅从IP访问实例,因为我将在需要时从基础AMI旋转许多实例,并在不需要时进行销毁。
我想从另一个以HTTPS 托管的网络应用程序中调用此API。我知道由于混合内容,它不允许我从HTTPS中命中HTTP。
经过一番研究,我发现AWS提供的ACM-Server证书服务可以应用于EC2。参考http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-iam-server-certificates.html
但它适用于与ACM集成的服务,根据文档在下面链接
http://docs.aws.amazon.com/acm/latest/userguide/acm-services.html>> 您无法直接在您的网站上安装ACM证书或 应用。您必须使用其中一个安装证书 与ACM集成的服务。有关这些的更多信息 服务,请参阅与AWS Certificate Manager集成的服务。
- Elastic Load Balancing
- Amazon CloudFront
- AWS Elastic Beanstalk
- Amazon API Gateway AWS
- CloudFormation
但我没有使用上述任何服务。有没有办法实现这个并使用脚本在EC2 ip上安装SSSL?
答案 0 :(得分:1)
这是一个常见问题,因为AWS ACS证书是免费的。
因此,为了避免将这些证书与AWS之外的其他服务一起使用,AWS从未向其客户披露相关的私钥。
要让EC2实例上的https服务器使用此类证书,AWS应该为您提供私钥,以便您配置https服务器本身。
这就是您不能在您的EC2实例中使用ACS证书的原因。您需要在其前面配置Elastic Load Balancing实例,以便AWS为此ELB提供您的证书和私钥(或者为HSM提供此私钥并将此HSM连接到ELB前端)。
请注意,在EC2实例前面使用ELB实例,以便能够使用来自AWS ACS服务的免费证书,可能是一个坏主意:证书通常更便宜(当然,取决于它们的类型和持续时间)而不是ELB的成本开销。
请注意,Let'sEncrypt(https://letsencrypt.org/)可以为您的EC2实例提供免费 DV(域验证)证书。您只需要安装Certbot ACME客户端,因为您可以访问EC2实例。