2017-06-14 78 views
0

我試圖在我的godaddy服務器上運行我的nodejs/expressjs應用程序,但是我使用超時的任何端口。我試過使用我的本地設備上的應用程序,它工作正常。下面我有一段我的連接。nodejs在godaddy服務器上託管時在所有端口上超時

var app = express(); 

app.listen(8080, function() { 
    console.log("Listening on port " + 8080); 
}); 

當我運行通過ssh的程序,我沒有得到任何錯誤

node index.js 
Listening on port 8080 

但是,當我去到相應的位置,在瀏覽器中,我得到:

xxx took too long to respond. 

ERR_CONNECTION_TIMED_OUT 

我m很確定它與在godaddy服務器上運行有關。如果任何人有經驗使用nodejs使用此服務,有沒有一個特定的端口,我應該使用,還是有任何其他設置,我應該做的?

+0

您是否在使用瀏覽器進行連接時指定了URL中的端口?如果你這樣做,那麼很確定你需要看看防火牆設置。 – viz

+0

我確實在url中指定了端口。這是一個共享服務器,所以我不認爲我有權訪問防火牆設置 –

+0

看看這個:https://kr.godaddy.com/help/accessing-your-servers-firewall-console-8553 – viz

回答

0

你有GoDaddy的VPS嗎?所以我假設你也有root權限。

SSH到您的GoDaddy的服務器根和檢查的Node.js應用程序,端口上的實際監聽:

netstat -tunlp | grep 8080 

如果你看到任何結果那裏的node.js的應用程序和端口則端口開了。

默認情況下,服務器上應該有一個防火牆,可能會阻塞大部分端口,並只允許必要的傳入通信。

您可以檢查是否有通過波紋管發出命令該端口的所有規則:

iptables -nvL | grep 8080 

如果返回任何結果,那麼你必須添加一個iptables規則允許訪問到該端口。有多種方法來做到這一點:

  • 完全訪問權限從您的IP訪問服務器
  • 允許你的IP來訪問端口8080 GoDaddy的服務器上
  • 允許外界訪問端口8080服務器

你可以閱讀任何iptables的傢伙,這是很容易添加/編輯/刪除防火牆規則。大多數cPanel/WHM服務器都帶有CSF防火牆(基於iptables和perl腳本)。

爲了允許一個IP地址到您的防火牆(如果安裝了防火牆CSF),你必須發出以下命令:

csf -a ip-address 

我希望幫助!

相關問題