今天接到某城商行北京分行的网站开发同事求助,故障很简单:网站是个静态页面 ,webserver安装的IBM 的IHS,IHS配置一切妥当后通过客户端浏览器无法访问
访问80端口的网页报错 This page can’t be displayed. Contact support fo additional information. The incident ID is: D/A 报错如图所示
一顿远程指导后没有效果,只能奔赴现场,来到机房(对,直接把我带到机房了),开电脑,行方网工给我配了IP,
开始着手分析 1. 了解下当前的环境:rhel5 ,IHS7 监听端口是80; 2. 查看iptables,selinux,都是关闭的; 3. 客户端去telnet 服务器的80端口,没问题,是通的; 4. 在web服务器上curl ip:80访问能拿到首页数据
基础检查做一遍之后就感觉这不是一般故障,平复一下心情之后开始排除故障:
排除一下端口问题: 把ihs80端口改为81,浏览器访问域名是可以正常打开页面的
是不是IHS安装出错了?排除一下web服务问题: IHS停掉,装个apache,一通配置安装完事,浏览器访问服务器地址,咦?故障是一样的,打不开页面报错依旧。
看来只要是用80端口网页就打不开,九成把我可以确定跟服务器配置是没关系的,这位网工同事就在旁边,表示不服。 好,一会再打你脸。
在架构中,从底层网上一层一层测试:直接把笔记本怼到web服务器上,测试浏览器能不能访问到页面,如果不能访问就是服务器的问题,如果可以访问就是测上一层的接入交换机,同理,再连接汇聚交换机测试。 这样的排除方法近乎完美,行当给我的回复是:这里没有服务器组的人,不能配合你直怼服务器测试。好!换方案。
网络架构是这样的,
所以我在同网段下再找一台服务器B登陆,在这台B服务器curl webserver的地址看一下能不能得到网站页面。 结果还是回复我这个现场没有服务器组人员,无法协助我登陆其他服务器来测试,行,行,行
于是我试着用虚拟机模拟一个同网段的webserver,开机虚拟机,配置一个同网段IP 10.10.10.19。 一切配置完突然想到我做出来的效果是这样的
都已经配置好了,就试一下吧,curl竟然是正常拿到首页数据的,果断安装一个火狐浏览器,用浏览器也能打开页面,真是奇怪了,难到只有linux客户端可以访问? 再开个Windows虚拟机,还是用10.10.10.19的IP,浏览器访问,通过了,不会是只有虚拟机才能访问吧。 算是个意外收获,影响因素就是MAC地址和IP了,虚拟机的MAC与真实机的MAC 有明显的区别,修改排除有些复杂, 先排除IP因素: 把虚拟机用的10.10.10.19换到我的笔记本上,测试!意外的惊喜,web页面出现了! 再换个IP,改成10.10.10.17,又意外的打开了网站页面。 原来是给我的10.10.10.18的IP是被策略阻止访问80端口的!
果断甩锅! 不用继续说下去了吧,网站开发已经提着刀去找网工去了。。。
越奇葩的故障,往往原因都特别简单。