在本文中,我将向您展示如何为在AWS Elastic Beanstalk上运行的应用程序(REST API)设置HTTPS 。 这篇文章是三个系列中的最后一个。 如前 两篇文章所述,我已经执行了前两个步骤来获取我的子域的SSL证书 ,现在我准备在第三步和最后一步中使用它了:
- 为您的应用分配一个(子)域
- 从AWS Certificate Manager获得证书
- 配置AWS Beanstalk应用程序以使用SSL
就像我之前说过的,有多种方法和变体为在AWS上运行的应用程序实现HTTPS,但在此仅显示其中一种 (是最简单的一种)。 在这种情况下,我们让弹性负载平衡器终止HTTPS调用,因此我们的应用程序不需要具有SSL部分的任何概念(正如我之前所说的那样,这可能是最简单的方法,但不一定意味着某些方法的最佳方法。用例)。 为了使负载均衡器终止SSL连接,我们只需使用.ebextensions文件夹中的配置脚本来配置负载均衡器。 在配置脚本中,我们在端口443(SSL的默认值)上添加了一个侦听器,并将SSL证书的ARN放置在AWS Certificate Manager中 。 我还要确保关闭了端口80上的侦听器,以便ELB仅允许HTTPS连接。 该脚本如下所示:
option_settings:
aws:elb:listener:443:
SSLCertificateId: arn:aws:acm:eu-central-1:101873222293:certificate/46712371-269b-4d9f-f3f4-e83abc78a289
ListenerProtocol: HTTPS
InstancePort: 80
InstanceProtocol: HTTP
aws:elb:listener:80:
ListenerEnabled: false
如果现在重新创建环境,则只能通过HTTPS从外部访问该API,如以下屏幕快照所示:
翻译自: https://www.javacodegeeks.com/2016/09/configure-aws-elastic-beanstalk-application-use-ssl.html