migro
migro
2009-12-22 21:34
浏览 248
已采纳

apache虚拟主机的一个奇怪的问题

  公司的测试服务器用Apache/2.2.8(unix)做了一个虚拟主机,配合3322.org的动态域名服务,建立了一个支持多项目多域名的测试服务器,Apache通过vhost的配置,对来自不同域名的请求转发到不同的WEB应用上。之前一直工作良好,最近却处理一个奇怪的问题。


问题的表现是从外网通过域名访问测试服务器的各个WEB应用的时候,都无法访问,提示找不到页面或者DNS错误,但能ping通;但是在测试服务器所在的内部局域网其他电脑通过域名访问测试服务器的WEB应用却能正常访问(客户端电脑都没有做本地的域名映射)


开始怀疑是局域网的路由器策略问题,于是做了一个测试,在局域网内的另外一台电脑上启动一个WEB服务,然后将路由器DMZ指向这台电脑IP,然后外网通过域名进行访问,访问成功! 看来不是路由的问题。

接着在外网避开apache侦听的80端口,直接通过 域名+端口 的方式访问apache转发后指向的web服务器端口8080、8901,都能正常访问,但是去掉端口,再次通过apche进行域名访问,还是不行,看来问题应该是在apache...
但是为什么从局域网内部进行域名的访问,apache却又能正常的处理...汗...

通过域名从局域网内和从外网访问会有什么本质差异??
后来对apache所在的linux的防火墙进行了关闭,还是问题依旧 :(  

实在是找不到解决问题的思路了,哪位高人来指点一下,感激不尽!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • Ryankay
    Ryankay 2009-12-23 14:40
    已采纳

    此问题我也遇到过,不过是在windows上,后来发现是杀毒软件的问题。不过你的就不知道了。看你描述比较怪异。

    症状归结为:外网IP没有权限访问80端口。

    内网和外网的区别就是安全级别吧,不过windows上是在防火墙上设置的,但是你把防火墙都关了怎么还不行,难道还有其它软件在管理80端口的权限???

    但是你这段话
    [quote]开始怀疑是局域网的路由器策略问题,于是做了一个测试,在局域网内的另外一台电脑上启动一个WEB服务,然后将路由器DMZ指向这台电脑IP,然后外网通过域名进行访问,访问成功! 看来不是路由的问题。
    [/quote]

    怎么又说外网IP能够访问80端口了【但是这里有一点区别,你此时实验的电脑是windows,而服务器是linux】。。。通常比较怪异的问题有90%的时间是再寻找问题,而通常这类问题找出问题后会恍然大悟发现这个问题如此的狗屎【这个我非常有经验,呵呵】,而解决问题就很简单了,通常是由我们一个小小的很难回忆起的操作造成的,隐藏的很深的那种。

    所以我劝你与其浪费时间去寻找问题不如将环境重新搬回最开始的状态,这个办法只有一个,那就是
    :重装系统。哈哈 :D :D :D

    这个很万能的。。。。

    点赞 评论

相关推荐