端口80在服务器上打开但无法连接到它

时间:2014-05-29 18:43:34

标签: apache http tcp ssh port

我有一个问题,我一直试图解决,但无法弄清楚发生了什么。我有各种Web服务器,它们都安装了apache。他们都在同一个网络上,但有一个给我一个问题。

我有服务器(.44,.45和.46)

我可以直接进入.44并且ping .45和.46没有任何问题。但是,当我尝试测试并查看端口80是否打开时,.45会给我这条消息。

 someadminuser@somelocation:/var/www$ telnet 10.0.0.45 80
 Trying 10.0.0.45...
 telnet: Unable to connect to remote host: Connection refused

这是与.46

相同的测试
 someadminuser@somelocation:/var/www$ telnet 10.0.0.46 80
 Trying 10.0.0.46...
 Connected to 10.0.0.46.
 Escape character is '^]'.

所以我ssh到.45去看港口。

 someadminuser@somelocation:~$ netstat -tulpn | grep :80
 (No info could be read for "-p": geteuid()=1000 but you should be root.)
 tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN


 someadminuser@somelocation:~$ sudo iptables -L
 Chain INPUT (policy ACCEPT)
 target     prot opt source               destination          
 ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:httpflags: 
 ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
 ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
 ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
 ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http

非常感谢任何帮助。

**************** UPDATE ****************

我保存了我的ipv4表,这就是我得到的:

 # Generated by iptables-save v1.4.12 on Thu May 29 14:05:31 2014
 *nat
 :PREROUTING ACCEPT [3416:231940]
 :INPUT ACCEPT [1175:75880]
 :OUTPUT ACCEPT [337:25196]
 :POSTROUTING ACCEPT [337:25196]
 -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3000
 -A OUTPUT -d 127.0.0.1/32 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3000

当然,还有更多内容,但这部分看起来很可疑。

1 个答案:

答案 0 :(得分:0)

因此服务器将连接重定向到本地端口80到本地端口3000.据推测,没有任何东西在端口3000上侦听,这就是为什么你看到"连接被拒绝"。

如果工作服务器没有此配置,则需要删除(或修复)iptables。如果其他服务器具有那个,那么你需要弄清楚它们在端口3000上运行了什么以及为什么失败的服务器没有相同的。