- 论坛徽章:
- 0
|
100可用积分
现在问题是这样,我在redhat9的一个网卡上邦定了
eth1: 1.2.3.4 教育网
eth1:1 :5.6.7.8 网通
然后开了apache 80端口,apache并没有绑定ip,只是在http.conf中指定了80端口,但就我在服务器上telnet实验来看,
可以telnet 1.2.3.4的80端口,但是连不上5.6.7.8的端口,估计是默认邦定到1.2.3.4ip上了,不过在服务器上运行下面命令,他指出是0.0.0.0不知有什么深层含义
# netstat -an|grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
不好意思下面说的可能比较混乱,我把现象和我的判断可能会混到一块,我真的晕了...
现在在apache上邦定了设置了两个虚拟主机,名字是1.2.3.4:80
<VirtualHost 1.2.3.4:80>
DocumentRoot /var/www/html/cdir
ServerName a.com
RewriteRule /list([0-9]+).shtml http://a.com/list.php?$1 [P]
</VirtualHost>
<VirtualHost 1.2.3.4:80>
DocumentRoot /var/www/html/cdir
RewriteRule /list([0-9]+).shtml http://b.com/list.php?$1 [P]
ServerName b.com
</VirtualHost>
然后将域名
a.com指向1.2.3.4
b.com指向5.6.7.8
下面说现象:
网通用户通过b.com访问的话,有的可以访问到,有的不可以,现在都没办法定位原因...如果不能访问,apache日志会出现
(110)!!!!!!!!: proxy: HTTP: attempt to connect to 5.6.7.8:80 (b.com) failed
[error] (110)Connection timed out: proxy: HTTP: attempt to connect to5.6.7.8:80 (b.com) failed
显然它试图去连接5.6.7.8的80端口,必然应该连不上的,因为我在服务器上都连不上5.6.7.8的80
现在奇怪的是:
1,为什么有的网通用户可以连接而有些不可以,应该不是用户那边防火墙的原因,毕竟端口是80
2,后来想想我设置也有问题,5.6.7.8没在80端口监听,我将b.com解析到这个ip不是一定会访问不到嘛,可是有的网通用户却访问到了...
3,为什么上面的错误信息会出现在apache的日志里呢?难道是apache代理访问? 这就更晕了,首先我搞不明白mod_proxy模块到底怎么工作的,其次mod_proxy也没有激活,只是配置文件里加载了.so文件而已,应该不会起作用把?
4, 我在教育网(另外一个高校的教育网)telnet 5.6.7.8的80端口是,结果是--竟然连上了! 这个就更让我晕了...为什么可以连上?服务器本地连不上,部分网通用户都连不上,我在教育网为什么连上了? 5.6.7.8的80端口到底是算开了还是没开呢??
还请不吝赐教非常感谢!!!CU现在可以送分了呵呵,送100吧!
[ 本帖最后由 deadcat 于 2007-3-12 09:09 编辑 ] |
最佳答案
查看完整内容
给你一个思路:如果可能,将防火墙停止,然后在本机 ping 5.6.7.8看看是不是通还有,按照你的路由信息,那么外网用户访问5.6.7.8的时候,都是通过1.2.3.2这个网关发送数据包的。正常情况下你应该让教育网的用户走这个网关,而其他用户走网通的网关(也许电信用户也应该走教育网的网关,因为电信和网通互联是个问题)你可以在机器上使用策略路由,使得访问1.2.3.4的时候走教育网的网关,访问5.6.7.8的时候走网通的网关(不管来源在 ...
|