以下错误对于尝试在端口 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/