2011-09-18 40 views
3

我正在构建一个node.js应用程序,并试图在Heroku上托管它。看来,做我的应用程序提供给世界,我要听这样的:托管在Heroku上的Node.js可以在非标准端口上侦听吗?

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

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

回答

20

编号Heroku会告诉您的应用程序需要您的应用程序监听哪个端口。 Heroku与您的应用程序之间所需的接口是PORT环境变量:您的应用程序必须查找并使用它。您的应用程序无法侦听除Heroku告诉您的应用程序必须侦听的端口以外的任何其他端口。 Heroku会尝试在该端口上打开一个TCP连接到您的应用程序,如果自Heroku启动您的应用程序并且您的应用程序未在该端口上侦听之后六十秒钟过去,Heroku会认为您的应用程序已损坏并将其关闭。

+0

Bah - 那是我害怕的。猜猜我会检查下Joyent智能机器。 –

+0

还有一个问题 - 我可以在端口443上收听SSL吗?有没有env.SSLPORT类型的环境变量? –

+0

你打算怎么做? – yfeldblum

相关问题