2017-04-04 28 views

回答

2

你不能这样做。你的代码应该监听你在通过Heroku服务器传递给你的PORT环境变量中的端口,你可以访问的端口号为process.env.PORT,Heroku将在外部监听端口80上的HTTP和443监听HTTPS。

见文档:

特别是:

正确示例:

// 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将不会正确地将流量代理到您的应用。

+0

我将如何在节点代码中指定.listen(8083) – techtransferportal

+1

@techtransferportal您不会。您应该使用'.listen(process.env.PORT || SOME_DEFAULT_PORT)',因为Heroku将始终为您设置PORT,如果您在不同于Heroku提供的端口上侦听端口,它将不会将流量代理到您的应用。 – rsp

+0

rsp,非常感谢您的帮助 – techtransferportal

相关问题