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

cur*_*678 9 amazon-web-services node.js

尝试在端口80上运行Node.js服务器的人员通常会出现以下错误.

Error: listen EACCES 0.0.0.0:80
Run Code Online (Sandbox Code Playgroud)

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

sudo node app.js
Run Code Online (Sandbox Code Playgroud)

现在我已经学会了不要将这种方法用于安全问题.这个答案中解释的一个很好的解决方案是使用:

sudo apt-get install libcap2-bin
sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``
Run Code Online (Sandbox Code Playgroud)

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

{
  "scripts": {
    "start": "node init"
  }
}
Run Code Online (Sandbox Code Playgroud)

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

Bra*_*rad 14

Beanstalk有一个代理构建,它在端口80上侦听.您的Node.js应用程序应该只监听process.env.PORT.一旦完成,你就会好起来的.