Debian
我的 node.js http 伺服器似乎被 iptables 阻止了
編輯:解決了……途中有一個硬體防火牆!
我在遠端 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?同一網路上的另一台機器?一跳遠?
我們不知道您的客戶端和有問題的伺服器之間有什麼 - 很可能有一些設備擋住了路,您只需要找到它。