我正在为客户在AWS上构建系统。客户的客户将能够访问登录页面并创建自己的EC2实例。将使用Tomcat预先配置此EC2实例,并自动部署我的客户端的war文件。用户将能够从IP地址访问Web应用程序。例如假设用户A登录到门户。单击创建实例。实例将使用URL(例如http://18.xx.xx.xx/MyApplication)自动配置。用户A将能够在此网站上进行大量活动。 现在,有什么方法可以在这些上动态启用SSL。我需要即时生成SSL证书,并将其附加到URL。理想情况下,UserA应该能够访问https://18.xx.xx.xx/MyApplication。自签名证书不会冻结。这可能是基本的,但是我对SSL的了解有限。网址的任何帮助/提示/链接将不胜感激。
为更加清楚起见-这些实例将不会被群集。用户A将拥有自己的实例和自己的应用程序。用户B将拥有自己的实例和自己的应用程序。用户A和用户B的实例将不会被群集。我需要确保用户A的实例在创建时自动启用了SSL。
干杯!
VJ
答案 0 :(得分:1)
您可能想为每个实例设置一个具有主机名的DNS。也许像18-xxx-xxx-xxx.yourdomain.com这样的主机名,其中“ 18-xxx-xxx-xxx”是使用-
而不是.
的IP地址。
对于这样的主机名,您可以以编程方式生成和续订Let's Encrypt证书。标准linux存储库中存在一些程序,用于生成“让我们加密”证书。您不能为IP生成证书。这就是为什么必须首先设置主机名的原因。
现在,您只需要(以编程方式)为Tomcat设置证书。
答案 1 :(得分:0)
AWS有多种解决方案可用于这种情况,特别是围绕CloudFormation。
对于预配置的Tomcat和WAR文件,甚至是应用程序,您可以创建自定义AMI。 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html
对于每个部署,您可以使用CloudFormation模板来自动配置此AMI。
对于SSL,使用一些CloudFormation模板,您可以包括一个AWS ALB,该ALB侦听HTTPS并针对每个部署上的新服务器。另外,您可以供应新证书并将其附加到LB。