使用 `node app.js` 在 AWS 实例上 运行 节点应用程序可以吗

Is it okay to run node apps on AWS instance using `node app.js`

我正在 运行我的本地计算机上使用以下命令安装节点应用程序 node app.js 来自应用程序的目录。

是否可以在不打包应用程序的情况下在 AWS 实例上执行相同的操作?只是 运行 就像我在本地机器上所做的那样,然后打开 public.

的端口

它有任何安全问题吗?

你问是否可以部署节点应用程序(在 AWS 实例上),我猜,

  • 克隆 and/or 将您的源代码拉到一个目录,
  • 运行宁npm install
  • 运行宁node app.js

是的,没关系。但这不是最好的做法。会出什么问题?

  • 如果您在 shell 中执行此操作,然后关闭 shell,您的节点应用程序将停止。
  • 为了确保 public 网络的安全,您希望 https 为您的应用提供服务。您可以使用 https 服务器和 运行 服务器构建您的节点应用程序。但是你让节点做加密工作。
  • 如果您的 AWS 实例重启(有时会发生),您的节点应用程序将不会 运行ning。

如果你要投入生产,你会更好:

  • 在您的设备上安装一个 nginx 反向代理来处理 https 并将请求转发到节点。
  • 为您的节点应用程序使用合适的部署方案。有好几种,你最喜欢的搜索引擎会帮你找到的。

这种部署应用程序的方式是否存在任何安全问题?

  1. 它肯定有您 app.js 已经包含的任何安全问题。

  2. 您可能 运行 使用您自己的用户名和开发权限(例如访问 git)来设置您的 shell。在 public 网络上部署的应用程序应该 运行 具有仅包含使其工作所需的目录结构,并具有专门用于此目的的用户和组。在 Linux 服务器上,您想要的用户通常是 www-data.