【问题标题】:Error: listen EACCES 0.0.0.0:80 Error On Azure错误:在 Azure 上侦听 EACCES 0.0.0.0:80 错误
【发布时间】:2018-03-29 20:50:39
【问题描述】:

您好,我正在尝试在 Azure(Web/移动应用)上部署我们的 node.js 应用。但它给出了那个错误:

events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: listen EACCES 0.0.0.0:80

我的端口监听代码是:

httpsServer.listen(process.env.PORT || 80);

它在谷歌云平台上运行没有任何问题。

【问题讨论】:

  • 您是否要手动启动该应用程序?这可以解释绑定错误,因为 process.env.PORT 在 Kudu 中不存在,但它确实存在于应用程序命名空间(IIS 应用程序池)中。它也不是 TCP 端口号,而是命名管道。当您通过其公共 URL 访问该应用时会发生什么?
  • 还有一点,如果您没有使用 git 进行部署,您可能会丢失自动生成的 web.config。你可以从这里复制-gist.github.com/davidebbo/8ad0d30ac1b1aa3d0334,只是修改你的启动文件名。
  • @evilSnobu 我从本地 git 部署,web.config 生成成功,我认为这是关于部署 git 并尝试同时手动启动应用程序。我是 azure 的菜鸟,并尝试了解流程。
  • 好吧,不要手动启动您的应用程序。只需将 git 远程添加为 https://{sitename}.scm.azurewebsites.net 并 git push 即可。此外,请确保您在该 Web 应用的门户中没有杂散的“端口”应用设置。

标签: node.js azure azure-web-app-service


【解决方案1】:

如果您在没有 root 权限的情况下运行应用程序,则不允许使用低于 1024 的端口,您可以尝试使用高于该端口的端口或以 root 用户身份运行应用程序。

【讨论】:

    【解决方案2】:

    显然,您不能在低于 1024 的端口上运行。因此,您不能只指定端口 80。 有关详细信息,请参阅解决您的问题的 Stack Overflow Post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      • 2016-07-17
      • 1970-01-01
      • 2021-10-30
      • 2020-10-11
      • 2017-08-01
      • 2020-06-07
      相关资源
      最近更新 更多