如何在运行 express.js 的单实例 Elastic beanstalk 环境上启用 HTTPS?

如何在运行 express.js 的单实例 Elastic beanstalk 环境上启用 HTTPS?

我有一个在 AWS Elastic Beanstalk 上运行 express.js 框架的 node.js 服务器。我的服务器在 http 上运行良好,但我需要将其更新为 https。值得注意的是,该环境是单实例环境。

我已经查看了 4 个小时的文档和指南,但我所做的一切都破坏了对我的服务器的所有访问。我使用 Amazon 证书管理器生成了一个证书,并设置了我的负载均衡器以从端口 80 接收 HTTP 请求并将它们发送到端口 80 上的服务器,并从端口 443 接收 HTTPS 请求并将其转发到端口 443 上的服务器。问题似乎是服务器没有监听端口 443。我尝试了很多方法,包括 AWS Elastic Beanstalk 文档中的几乎所有内容,但它完全破坏了我的服务器。我非常绝望,所以任何帮助都将不胜感激。如果人们需要更多信息,我很乐意回答问题。

答案1

设置负载均衡器监听端口 443,并将请求转发到端口 80 上的服务器。这称为“SSL 卸载”。

答案2

您需要在实例本身上编写证书安装脚本。我建议您研究一下 LetsEncrypt,因为它们免费提供 SSL 证书,并且可能有一个自动化流程或 express.js 包,您可以安装它以快速运行。

相关内容