繁体   English   中英

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

[英]Configure Spring application deployed in AWS Elastic Beanstalk to use SSL

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

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

您可以将生成的 SSL 证书添加到 ELB,以便保护您的 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 以终止 SSL ,另一方面,您基本上需要根据您的 LB 类型定义正确的.ebextension 这个AWS 文档详细描述了整个过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM