NodeJS 应用失败 "Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch"

NodeJS app failed with "Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch"

当我尝试启动该应用程序时,出现 Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 错误,我很确定我已将应用程序配置为使用 Heroku 提供的 $PORT 环境变量,正如我看到的行在日志中说 Server running on 38594,每次我重新启动 dyno 时端口都会改变,我尝试使用 heroku run bash 登录 bash 并使用 node dist/bundle/index.js 从那里启动应用程序,它没有任何错误,但我仍然无法从浏览器打开应用程序,有人可以帮我指出正确的方向吗?干杯

原来 HTTPure 试图绑定到 localhost,而 Heroku 允许 0.0.0.0 而不是 localhost。最令人困惑的部分是 HTTPure 的主分支绑定到 0.0.0.0 https://github.com/cprussin/purescript-httpure/blob/master/src/HTTPure/Server.purs#L84 而我使用的发布版本绑定到 localhost,解决方法是使用 serve' 0.0.0.0 绑定到正确的主机名