编辑:已解决...有一个硬件防火墙!
我在远程 Debian GNU/Linux 6.0.4(squeeze)服务器上安装了 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 问题?
格
答案1
来自OP:
解决了... 有一个硬件防火墙!
答案2
您的服务器上一切看上去都很好。
您需要从本地开始并向后工作。它是否从本地主机工作?从直接针对 IP 的本地计算机工作?同一网络上的另一台计算机?一跳之隔?
我们不知道您的客户端和服务器之间存在什么问题 - 很可能是某些设备挡住了路,您只需要找到它。
答案3
我认为“spt”在OUTPUT链中效果会更好;)