2017-04-04 26 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

相關問題