Debian

我的 node.js http 伺服器似乎被 iptables 阻止了

  • May 19, 2012

編輯:解決了……途中有一個硬體防火牆!

我在遠端 Debian GNU/Linux 6.0.4(擠壓)伺服器上安裝了 node.js,並在埠 8866 上執行了這個 http 伺服器。

var http = require('http');

http.createServer(function (req, res) {
   res.writeHead(200, {'Content-Type': 'text/plain'});
   res.end('Hello World\n');
   console.log('Someone set up us the bomb');
}).listen(8866, "0.0.0.0");
console.log('Server running at http://0.0.0.0:8866/');

它似乎執行:

node server.js
root@pod:/var/www# Server running at http://0.0.0.0:8866/

但是當我去http://213.159.xxx.xxx:8866什麼都沒有顯示並且它超時。所以我想也許我的埠被阻塞了,所以我開始擺弄 iptables、nmap 等……但它仍然沒有執行。我會告訴你一些重要的輸出,也許你們可以告訴我通往工作伺服器的路,我想我很接近。

這是伺服器上 iptables -L 的結果:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8866
fail2ban-ssh  tcp  --  anywhere             anywhere            multiport dports ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http-alt
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8866

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8866
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:8866

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

結果nmap 213.159.xx.xxx -p 8866 -A

Starting Nmap 5.00 ( http://nmap.org ) at 2012-05-17 16:08 CEST
Someone set up us the bomb
Someone set up us the bomb
Someone set up us the bomb
Someone set up us the bomb
Interesting ports on pod (213.159.xx.xxx):
PORT     STATE SERVICE VERSION
8866/tcp open  unknown

還要添加 netstat:

# netstat -pan | grep 88
tcp        0      0 0.0.0.0:8866            0.0.0.0:*               LISTEN      12468/node

帽子有問題嗎?埠是否關閉,它們只接受本地域還是存在 tcp / http 問題?

格。

來自 OP:

解決了…有一個硬體防火牆擋住了!

你的伺服器上的東西看起來不錯。

您需要從本地開始並向後工作。它可以從本地主機工作嗎?從本地機器直接定位IP?同一網路上的另一台機器?一跳遠?

我們不知道您的客戶端和有問題的伺服器之間有什麼 - 很可能有一些設備擋住了路,您只需要找到它。

引用自:https://serverfault.com/questions/390046