啟動 TCP Nodejs 伺服器後被伺服器阻止。為什麼?

啟動 TCP Nodejs 伺服器後被伺服器阻止。為什麼?

我最近在我的 VPS 上安裝了節點,並嘗試完成一個教學。我將此程式碼儲存到 server.js 中,並在 putty 中點擊節點 server.js。我的 VPS 立即被“禁止”,我無法訪問它,但在其他計算機上我可以。

var net = require('net');
var server = net.createServer(function (socket) {
  console.log("Connection from " + socket.remoteAddress);
  socket.end("Hello World\n");
});
server.listen(7000, "localhost");
console.log("TCP server listening on port 7000 at localhost.");

這個問題與伺服器防火牆有關嗎?我能做什麼來解決它?

答案1

如果沒有有關您平台的更多信息,就很難推測。但是,如果您可以從另一台電腦透過 SSH 登錄,請以 root 身分檢查 iptables 規則iptables -L。您可能會在「fail2ban」鏈或類似內容下看到與您電腦的 IP 位址相關的規則。它們將以 DROP 或 REJECT 結尾,並且您需要刪除它們才能重新獲得對您的盒子的存取權。

要清除它們,首先您需要要刪除的規則的行號;路過iptables -L --line-numbers看到這個。你會看到這樣的東西:

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT  all  --  <some-ip>             anywhere  

然後您可以執行iptables --delete INPUT 1,這將刪除我的範例中的規則。

相關內容