引言:無法訪問網(wǎng)站的原因有很多,有可能是網(wǎng)站本身的問題,或者是用戶網(wǎng)絡(luò)的問題,還有可能是瀏覽器的問題。筆者近期遇到的這個問題,是操作系統(tǒng)不支持?jǐn)?shù)字證書的簽名算法所導(dǎo)致的。這個問題的排查過程有些曲折,現(xiàn)在寫出來,以供大家參考。
一天,筆者想登錄QQ郵箱網(wǎng)站,用IE來訪問該網(wǎng)站的時(shí)候,打不開網(wǎng)站,提示找不到網(wǎng)頁!但是訪問其他網(wǎng)站很正常。
對于這類故障,并沒有特定的原因。要找到問題的所在,只能用排除法逐個排查。
單位的網(wǎng)絡(luò)訪問不了網(wǎng)站,那試試家里的網(wǎng)絡(luò)。如果家里的網(wǎng)絡(luò)也不能訪問,那就很有可能是網(wǎng)站的問題?;氐郊依铮肐E訪問QQ郵箱網(wǎng)站,可以正常打開。說明網(wǎng)站沒有問題。
用IE無法訪問,換個瀏覽器試試。用chrome訪問QQ郵箱網(wǎng)站,也是無法打開網(wǎng)頁。非IE內(nèi)核的chrome瀏覽器打不開網(wǎng)站,說明并不是瀏覽器的問題。
會不會是系統(tǒng)中毒了?用殺毒軟件全盤查殺,發(fā)現(xiàn)有惡意程序。把惡意程序清除后,重啟電腦再來訪問網(wǎng)站,仍然不行!會不會病毒破壞了系統(tǒng)文件,導(dǎo)致無法訪問網(wǎng)站呢?給電腦重裝操作系統(tǒng),然后再來訪問QQ郵箱網(wǎng)站,發(fā)現(xiàn)故障依舊。
電腦重裝過系統(tǒng)后仍然無法訪問網(wǎng)站,那有可能是防火墻的問題了。特別是最近換過防火墻,嫌疑很大。登錄防火墻,查看訪問控制策略,沒有發(fā)現(xiàn)可疑的策略。再看地址轉(zhuǎn)換策略,發(fā)現(xiàn)源端口是做了轉(zhuǎn)換的。試一下源端口不做轉(zhuǎn)換看能不能訪問網(wǎng)站,發(fā)現(xiàn)還是不行。繼續(xù)看路由表,也沒有發(fā)現(xiàn)可疑的地方。
突然發(fā)現(xiàn)chrome瀏覽器的地址欄里面的https是打了紅色的叉。難道是證書的問題?查看QQ郵箱網(wǎng)站的證書,發(fā)現(xiàn)有個錯誤提示:該證書有一個無效的數(shù)字簽名。數(shù)字簽名怎么會無效呢?在網(wǎng)上搜索,有人說是系統(tǒng)的時(shí)間不對,調(diào)到正確的時(shí)間就可以了。筆者于是查看系統(tǒng)的日期和時(shí)間,發(fā)現(xiàn)都沒有問題。再看防火墻的時(shí)間,是慢了一些,把時(shí)間調(diào)準(zhǔn)確后,再來訪問QQ郵箱網(wǎng)站,還是無法訪問??磥聿皇沁@個原因。
QQ郵箱網(wǎng)站的數(shù)字證書,在家里的電腦上查看是正常的,而在單位的電腦上查看就不正常了。兩臺電腦的操作系統(tǒng)都是Windows XP,惟一的不同就是家里的電腦打了SP3補(bǔ)丁,而單位的電腦只打了SP2補(bǔ)丁。難道是SP3補(bǔ)丁的原因?把單位的電腦打上SP3補(bǔ)丁,然后訪問QQ郵箱網(wǎng)站,終于可以訪問了!再看網(wǎng)站的數(shù)字證書,發(fā)現(xiàn)證書狀態(tài)是正常的了。
在沒打SP3補(bǔ)丁之前,Windows XP是不支持sha256RSA簽名算法的,這時(shí)候查看QQ郵箱網(wǎng)站數(shù)字證書的簽名算法,會顯示一堆數(shù)字如1.2.840.113549.1.1.11。打了SP3補(bǔ)丁后,再查看該數(shù)字證書的簽名算法,會顯示正常的sha256RSA。因此,當(dāng)操作系統(tǒng)不支持證書簽名算法而又去訪問此類型的https網(wǎng)站的時(shí)候,操作系統(tǒng)無法用公鑰解開服務(wù)器證書的數(shù)字簽名,會認(rèn)為數(shù)字簽名無效、這個服務(wù)器是假冒的,瀏覽器斷開跟這個https網(wǎng)站的連接,所以無法訪問這個網(wǎng)站。
排查故障的過程中,由于IE只提示找不到網(wǎng)頁,筆者就習(xí)慣性地從常規(guī)的做法開始排查,剛好操作系統(tǒng)中毒,單位的防火墻也更換不久,誤以為是這兩方面的問題,走了一些彎路。