我有一个问题,我一直试图解决,但无法弄清楚发生了什么。我有各种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
当然,还有更多内容,但这部分看起来很可疑。
答案 0 :(得分:0)
因此服务器将连接重定向到本地端口80到本地端口3000.据推测,没有任何东西在端口3000上侦听,这就是为什么你看到"连接被拒绝"。
如果工作服务器没有此配置,则需要删除(或修复)iptables。如果其他服务器做具有那个,那么你需要弄清楚它们在端口3000上运行了什么以及为什么失败的服务器没有相同的。