将部署在AWS Elastic Beanstalk中的Spring应用程序配置为使用SSL

将部署在AWS Elastic Beanstalk中的Spring应用程序配置为使用SSL,spring,amazon-web-services,spring-boot,amazon-s3,amazon-elastic-beanstalk,Spring,Amazon Web Services,Spring Boot,Amazon S3,Amazon Elastic Beanstalk,我成功地将Spring应用程序部署到AWS Elastic Beanstalk中,Angular应用程序将使用它作为Rest端点。我想用SSL加密Angular和Spring之间的通信。 最好的方法是什么?使用AWS负载平衡器或使用一些Java代码只允许SSL请求?您使用什么解决方案 如果可能的话,我想为本地开发和生产使用不同的Spring配置文件。因此,在application.yml中启用和禁用此功能将是最佳选择。您可以在将其添加到ELB时添加生成SSL证书,以便保护您的Rest端点。对于部

我成功地将Spring应用程序部署到AWS Elastic Beanstalk中,Angular应用程序将使用它作为Rest端点。我想用SSL加密Angular和Spring之间的通信。 最好的方法是什么?使用AWS负载平衡器或使用一些Java代码只允许SSL请求?您使用什么解决方案


如果可能的话,我想为本地开发和生产使用不同的Spring配置文件。因此,在application.yml中启用和禁用此功能将是最佳选择。

您可以在将其添加到ELB时添加生成SSL证书,以便保护您的Rest端点。对于部署在Cloudfront上的Angular网站,您可以执行相同的操作,从AWS证书管理器生成SSL证书,并在创建Cloudfront发行版时添加SSL。这样,您的Rest端点和网站都将受到保护。

您可以在将其添加到ELB时添加生成SSL证书,以便您的Rest端点受到保护。对于部署在Cloudfront上的Angular网站,您可以执行相同的操作,从AWS证书管理器生成SSL证书,并在创建Cloudfront发行版时添加SSL。这样,您的Rest端点和网站都将受到保护。

如Muzaffar提供的答案所示,在一般用例中,使用负载平衡器进行SSL终止可能是设置服务更方便的方法

它将释放您的EB实例来执行SSL处理任务,如前所述终止SSL。此外,如果需要,您可以将HTTP重定向到HTTPS流量,并且它与ACM完全集成,用于您的证书管理任务

您主要关心的似乎是负载平衡器和beanstalk实例之间的通信量

正如Martin所指出的,通常的做法是LB和EB实例之间的通信量是HTTP,而不是HTTPS


话虽如此,AWS允许您通过正确配置服务来加密LB和EB之间的通信量,从而获得端到端的HTTPS。一方面,您仍然需要,另一方面,您基本上需要根据您的LB类型定义正确的
.ebextension
s。这详细描述了整个过程。

如Muzaffar提供的答案所示,在一般用例中,使用负载平衡器进行SSL终止可能是设置服务更方便的方法

它将释放您的EB实例来执行SSL处理任务,如前所述终止SSL。此外,如果需要,您可以将HTTP重定向到HTTPS流量,并且它与ACM完全集成,用于您的证书管理任务

您主要关心的似乎是负载平衡器和beanstalk实例之间的通信量

正如Martin所指出的,通常的做法是LB和EB实例之间的通信量是HTTP,而不是HTTPS


话虽如此,AWS允许您通过正确配置服务来加密LB和EB之间的通信量,从而获得端到端的HTTPS。一方面,您仍然需要,另一方面,您基本上需要根据您的LB类型定义正确的
.ebextension
s。这详细描述了整个过程。

Angular是前端,Spring是后端在EB上?CloudfrontAngular是前端,Spring是后端在EB上?CloudFrontFrontAngular是前端,Spring是后端在EB上?CloudFront上没有部署Angular我看到了一个大问题:负载平衡器和作为AWS Elastic Beanstalk实例运行的Spring应用程序之间的通信量不稳定加密的。如果我错了,请纠正我。有什么解决方案吗?您可以将它们添加到同一个VPC中,并使用安全组设置对其进行保护。好的,但是流量不会被加密?如果您使用SSL,那么它应该被加密。@PeterPenzov这是正确的。LB和您的EB实例之间的通信将是HTTP,而不是HTTPs。这是通常的做法,除非您有非常具体的理由在LB和实例之间强制使用HTTPS。我在这里看到一个大问题:作为AWS Elastic Beanstalk实例运行的负载平衡器和Spring应用程序之间的通信量没有加密。如果我错了,请纠正我。有什么解决方案吗?您可以将它们添加到同一个VPC中,并使用安全组设置对其进行保护。好的,但是流量不会被加密?如果您使用SSL,那么它应该被加密。@PeterPenzov这是正确的。LB和您的EB实例之间的通信将是HTTP,而不是HTTPs。这是通常的做法,除非您有非常具体的理由在LB和实例之间强制使用HTTPS。