【问题标题】:nodejs timed out on all ports when hosting on godaddy server在 Godaddy 服务器上托管时,nodejs 在所有端口上都超时
【发布时间】:2017-11-16 22:01:13
【问题描述】:

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

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 使用此服务的经验,是否有我应该使用的特定端口,或者我应该做任何其他设置?

【问题讨论】:

  • 您在使用浏览器连接时是否在url中指定了端口?如果你这样做了,那么很确定你需要查看防火墙设置。
  • 我确实在 url 中指定了端口。这是一个共享服务器,所以我认为我无法访问防火墙设置
  • 看看这个:kr.godaddy.com/help/…
  • 这仅在专用服务器上可用。由于我在共享服务器上,我的经理没有“支持”或“防火墙控制台”部分。
  • 是的,看来我得看看别的了。感谢您的帮助!

标签: node.js express port cpanel listen


【解决方案1】:

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

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

netstat -tunlp | grep 8080

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

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

您可以通过以下命令检查该端口是否有任何规则:

iptables -nvL | grep 8080

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

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

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

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

csf -a ip-address

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2013-02-01
    • 2020-04-01
    • 2020-08-09
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 2013-12-02
    • 2015-10-15
    • 1970-01-01
    相关资源
    最近更新 更多