node.js - 如何使用 Amazon Elastic Beanstalk 在端口 80 上安全地运行 Node.js 服务器?

标签 node.js amazon-web-services

以下错误对于尝试在端口 80 上运行 Node.js 服务器的人来说很常见。

Error: listen EACCES 0.0.0.0:80

我曾经在我的 Amazon EC2 服务器上解决这个问题,只需使用

sudo node app.js

现在我学会了不要出于安全考虑使用这种方法。解释的一个很好的解决方案in this answer是使用:

sudo apt-get install libcap2-bin
sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``

但是我不确定如何在 AWS Elastic Beanstalk 实例上实现这两种解决方案,我似乎没有像对 AWS EC2 服务器那样进行 SSH 访问,而且我似乎拥有的唯一方法运行任何东西都在我的 package.json 文件中,如下所示:

{
  "scripts": {
    "start": "node init"
  }
}

所以我不知道如何运行其他类型的命令。这是怎么做到的?

最佳答案

Beanstalk 内置了一个代理,监听端口 80。您的 Node.js 应用程序应该只监听 process.env.PORT。完成后,您就可以开始了。

关于node.js - 如何使用 Amazon Elastic Beanstalk 在端口 80 上安全地运行 Node.js 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40066657/

相关文章:

javascript - 错误 : misconfigured csrf - Express JS 4

sql - 使用 PostgreSQL/NodeJS 获取 JOIN 表作为结果数组

amazon-web-services - 使用 BOTO3 为 AWS Api 网关自动化 CORS

android - 拖放应用程序构建器许可。如何确保源代码不会被反编译和重复使用?

node.js - 在 EC2 上使用 node.js 驱动的服务器,如何减少 TCP 连接时间?

python - 如何在 AWS Elastic Beanstalk 中使用 Plotly Python SDK

amazon-web-services - 从AWS挂载数据集

amazon-web-services - 具有 4 个音频 channel 的 ffmpeg 单输出容器到 AWS IVS

amazon-web-services - AWS 上的高可用性周期性任务 (cron)

node.js - create-react-app my-app ...找不到命令