我的节点应用在本地端口8083上运行。当我推送到heroku时,如何将服务配置为在同一端口上运行?
答案 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将不会正确地将流量代理到您的应用程序。