无法访问的网站
2016-03-15
引言:无法访问网站的原因有很多,有可能是网站本身的问题,或者是用户网络的问题,还有可能是浏览器的问题。笔者近期遇到的这个问题,是操作系统不支持数字证书的签名算法所导致的。这个问题的排查过程有些曲折,现在写出来,以供大家参考。
故障现象
一天,笔者想登录QQ邮箱网站,用IE来访问该网站的时候,打不开网站,提示找不到网页!但是访问其他网站很正常。
故障排查
对于这类故障,并没有特定的原因。要找到问题的所在,只能用排除法逐个排查。
1.网站问题
单位的网络访问不了网站,那试试家里的网络。如果家里的网络也不能访问,那就很有可能是网站的问题。回到家里,用IE访问QQ邮箱网站,可以正常打开。说明网站没有问题。
2.浏览器问题
用IE无法访问,换个浏览器试试。用chrome访问QQ邮箱网站,也是无法打开网页。非IE内核的chrome浏览器打不开网站,说明并不是浏览器的问题。
3.操作系统问题
会不会是系统中毒了?用杀毒软件全盘查杀,发现有恶意程序。把恶意程序清除后,重启电脑再来访问网站,仍然不行!会不会病毒破坏了系统文件,导致无法访问网站呢?给电脑重装操作系统,然后再来访问QQ邮箱网站,发现故障依旧。
4.防火墙问题
电脑重装过系统后仍然无法访问网站,那有可能是防火墙的问题了。特别是最近换过防火墙,嫌疑很大。登录防火墙,查看访问控制策略,没有发现可疑的策略。再看地址转换策略,发现源端口是做了转换的。试一下源端口不做转换看能不能访问网站,发现还是不行。继续看路由表,也没有发现可疑的地方。
5.数字证书
突然发现chrome浏览器的地址栏里面的https是打了红色的叉。难道是证书的问题?查看QQ邮箱网站的证书,发现有个错误提示:该证书有一个无效的数字签名。数字签名怎么会无效呢?在网上搜索,有人说是系统的时间不对,调到正确的时间就可以了。笔者于是查看系统的日期和时间,发现都没有问题。再看防火墙的时间,是慢了一些,把时间调准确后,再来访问QQ邮箱网站,还是无法访问。看来不是这个原因。
故障解决
QQ邮箱网站的数字证书,在家里的电脑上查看是正常的,而在单位的电脑上查看就不正常了。两台电脑的操作系统都是Windows XP,惟一的不同就是家里的电脑打了SP3补丁,而单位的电脑只打了SP2补丁。难道是SP3补丁的原因?把单位的电脑打上SP3补丁,然后访问QQ邮箱网站,终于可以访问了!再看网站的数字证书,发现证书状态是正常的了。
经验总结
在没打SP3补丁之前,Windows XP是不支持sha256RSA签名算法的,这时候查看QQ邮箱网站数字证书的签名算法,会显示一堆数字如1.2.840.113549.1.1.11。打了SP3补丁后,再查看该数字证书的签名算法,会显示正常的sha256RSA。因此,当操作系统不支持证书签名算法而又去访问此类型的https网站的时候,操作系统无法用公钥解开服务器证书的数字签名,会认为数字签名无效、这个服务器是假冒的,浏览器断开跟这个https网站的连接,所以无法访问这个网站。
排查故障的过程中,由于IE只提示找不到网页,笔者就习惯性地从常规的做法开始排查,刚好操作系统中毒,单位的防火墙也更换不久,误以为是这两方面的问题,走了一些弯路。