如何将节点应用程序设置为在heroku上的静态端口号上运行?

时间:2017-04-04 15:42:19

标签: node.js heroku

我的节点应用在本地端口8083上运行。当我推送到heroku时,如何将服务配置为在同一端口上运行?

1 个答案:

答案 0 :(得分:2)

你不能这样做。您的代码应该侦听Heroku服务器传递给您的PORT环境变量中的端口,您可以将其作为process.env.PORT访问,Heroku将在端口80上侦听HTTP,使用443进行HTTPS侦听。< / p>

参见文档:

特别是:

正确的例子:

// Get the port:
const PORT = process.env.PORT || 3000;
// Listen on the port:
app.listen(PORT, () => console.log('Listening on', PORT));

默认情况下(本例中为3000)适用于在Heroku外部运行的情况(如测试时)。当它在Heroku上运行时,它应该始终监听Heroku提供的端口。如果它侦听其他端口,那么Heroku将不会正确地将流量代理到您的应用程序。