在Heroku上托管时,我可以在非标准端口上监听node.js吗?

时间:2011-09-18 02:43:22

标签: node.js heroku port

我正在构建一个node.js应用程序并正在尝试在Heroku上托管它。似乎要让我的应用程序可供全世界使用,我需要这样听:

app.listen(process.env.PORT || 3000);

我想让我的应用程序在端口8080上侦听。这可以在Heroku中使用吗?我可以更改process.env.port的值吗?它似乎是某种反向代理,我可能无法控制。

1 个答案:

答案 0 :(得分:22)

没有。 Heroku告诉您的应用程序您的应用程序需要监听哪个端口。 Heroku和您的应用程序之间所需的接口是PORT环境变量:您的应用程序必须查找并使用它。您的应用程序无法侦听任何其他端口,但Heroku告诉您的应用程序必须侦听的端口除外。 Heroku尝试在该端口上打开与您的应用程序的TCP连接,如果Heroku启动您的应用程序并且您的应用程序没有在该端口上侦听,则经过了60秒,Heroku会发现您的应用程序已损坏并将其关闭。