在godaddy服务器上托管时,nodejs在所有端口上超时

时间:2017-06-14 16:24:59

标签: node.js express port cpanel listen

我试图在我的godaddy服务器上运行我的nodejs / expressjs应用程序,但我使用的任何端口超时。我尝试在我的本地设备上使用该应用程序,它工作正常。我在下面有一段连接。

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

我很确定它与在godaddy服务器上运行有关。如果有人有使用nodejs的服务的经验,是否有我应该使用的特定端口,或者我应该做任何其他设置?

1 个答案:

答案 0 :(得分:0)

你有GoDaddy的VPS吗?所以我假设你也有root访问权限。

以root身份SSH到GoDaddy服务器并检查node.js应用程序是否实际侦听该端口:

netstat -tunlp | grep 8080

如果您看到node.js应用程序和该端口的任何结果,则端口已打开。

默认情况下,服务器上应该有防火墙,可能会阻止大多数端口,并且只允许必要的传入流量。

您可以通过发出命令bellow:

来检查该端口是否有任何规则
iptables -nvL | grep 8080

如果返回任何结果,则必须添加iptables规则以允许访问该端口。有多种方法可以做到这一点:

  • 允许从您对服务器的IP访问权限进行完全访问
  • 允许您的IP访问godaddy服务器上的端口8080
  • 允许外部世界访问您服务器上的端口8080

你可以阅读任何iptables人,添加/编辑/删除防火墙规则非常容易。大多数cPanel / WHM服务器都带有CSF防火墙(基于iptables和perl脚本)。

为了允许防火墙的IP地址(如果安装了CSF防火墙),您必须发出以下命令:

csf -a ip-address

我希望有所帮助!