运行 node.js 使用 https 的 aws ec2 实例上的应用程序

Running node.js app on aws ec2 instance with https

我使用 EC2 AWS 实例上传了我的 node.js 应用程序,我的 app.ts 运行 在端口 5000 上,我在入站规则内允许 HTTPS 在端口 443 上,我还购买了一个域使用 53 号亚马逊路线,当我尝试在本地向 https://ec2-3-example.com am getting err connection refused but when I'm sending a request with http://ec2-3-example.com:5000 发送请求时,我从服务器获取数据,我该如何解决这个问题? 提前致谢 如果有帮助我可以分享代码

为了通过 HTTPS 访问您的应用程序,您必须将 SSL 证书附加到系统中间某处的反向代理。

您遇到的问题是您在 EC2 实例中打开端口 443,但您的应用程序在端口 5000 上 运行。最重要的是,SSL 终止不会自动完成。您将需要一个反向代理,例如 ALB 或 Nginx。

在您的情况下,一种方法可以是:

  • 检查您的应用程序是否在 EC2 实例中的端口 5000 上运行
  • 创建一个 ALB 并将您的 EC2 实例添加到其中
  • 将 SSL 证书附加到具有相应域的 ALB
  • 允许来自您的 ALB
  • 的 EC2 实例安全组中端口 5000 的入站流量
  • 允许端口 443 上的入站流量用于 ALB
  • 在 Route53 上将流量从您的域路由到您的 ALB