AWS:帮助在 Elastic Beanstalk 上配置端到端加密

AWS: Help Configuring End-to-End Encryption on Elastic Beanstalk

我正在尝试配置我的服务器,以便它终止 EC2 实例上的 https 连接。这一切都在 Elastic Beanstalk 上,我的环境是Node.js。 从客户端到负载均衡器的连接已经是 https,但我正在采取这一额外措施来满足 HIPAA 要求。

我觉得我按照 instructions on AWS docs 到了 T,但收到“502 Bad Gateway”错误。以下是我采取的步骤。如果您需要更多信息,请告诉我。

  1. 使用控制台在 Application Load Balancer 上添加了安全侦听器。 (遵循说明 here

  2. 使用 OpenSSL 创建了一个自签名证书。对于“Common Name”,输入使用 Route 53 注册的合格域(类似于 server.example.com)。 (遵循说明 here

  3. 通过创建配置文件将 nginx 配置为侦听端口 443 并使用证书终止 SSL 连接.ebextensions/https-instance.config(遵循说明 here

---从这里开始,可以找到配置文件的内容here----

  1. 使用配置文件.ebextensions/https-reencrypt-alb.config

    将负载均衡器上的安全侦听器配置为转发到实例的端口 443
  2. 使用.ebextensions/https-lbsecuritygroup.config

    配置负载均衡器的安全组
  3. 使用.ebextensions/https-backendsecurity.config

    配置EC2实例的安全组

在此先感谢您的帮助。

编辑 1:

This article 解决了我的问题。

我认为问题在于,与文档声称的相反,nginx 不能很好地使用自签名证书。 我使用 Let's Encrypt 而不是自签名 OpenSSL。

我注意到的另一件事是文档中的说明可能是在过时的位置创建 nginx 配置文件。上面引用的文章指定的位置对我的Linux2 EC2有效。