我的服务器有2个接口:
eth0 - 192.168.1.1
eth0:0 - 192.168.0.1
telnet 192.168.1.1 80
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
GET / HTTP/1.1
Host: www.blah.com
HTTP/1.1 200 OK
// All data OK
但是,
telnet 192.168.0.1 80
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
GET / HTTP/1.1
Host: www.blah.com
HTTP/1.0 404 Not Found
Connection closed by foreign host.
出了什么问题?
经过多次测试后,我观察到以下情况:
网络服务器:
eth0 - 192.168.1.1
eth0:0 - 192.168.0.1
客户端:
eth0 - 192.168.1.10
eth0:0 - 192.168.0.10
:
telnet 192.168.1.1 80
//一切都好
telnet 192.168.0.1 80
找不到HTTP / 1.0 404
,但
服务器中:
ping 192.168.0.10
//确定
再次在客户端:
telnet 192.168.0.1 80
// MIRACLE作品!
我不知道为什么连接仅在网络服务器首先ping客户端的别名接口时才有效。 Obs1:如果我从服务器本地测试(telnet),一切正常。我认为apache设置没问题
Obs2:这个linux机器(服务器)是一个在MS Hyper-V内部运行的VM Box。网络接口(eth0)作为网桥连接。我为此疯狂。
答案 0 :(得分:0)
您的VirtualHost指令可能指定了接口或主机名而不是*
答案 1 :(得分:0)
我终于找到了问题。另一个客户端使用来自Web服务器的相同IP。当arp表的客户端不能正常工作时,服务器ip工作的时候。
抱歉我的错误