现象:
一台笔记本(XP系统),一台台式机(Win7,64位系统),都是IE8,之前没任何问题,访问https也没异常,都能正常访问;
前天突然发现登录火车票网站出现无法打开登录页面情况,后来换其它地址打开并登录成功,但订票结束,支付的时候就无法打开支付页面,开始以为是火车票网站的问题,没在意.后来多次测试发现都不能打开支付页面,网络诊断以后,提示"该设备或资源(www.12306.cn)未设置为接受端口“https”上的连接。",才注意到所有"https"开头的网页都无法打开,但"http"类网页却没任何异常.并且是间歇性的,有时候又能正常访问,但访问一两次以后,关掉浏览器再打开又不能访问,浏览器也试了很多种.
开始以为是系统问题,换到笔记本(XP系统),发现出现同样情况,无法访问"https"类网站,并且使用两台电脑上的虚拟机系统,不同的XP系统,也同样无法访问,开始怀疑是网络问题.但同一个路由器上的另外一台机器访问上述网址却没任何异常.
这就想不通了,如果是系统问题,不应该两台电脑同时有问题,并且笔记本系统不经常用的.那天也出现这问题.还有虚拟机系统都是刚安装的新系统,也同样无法访问.
死马当活马医,把台式机的系统重装了,发现问题依然存在,还是间歇性的能打开,但大部分时间都无法打开,路由器重启也没效果.
试过网上无法方法,基本能看到的都试过,什么注册DLL,改internet设置,建新用户,Windows更新等等,但对于我这种情况似乎都没效果。最后使用下面这种方法:
重新注册IE组件(个人觉得跟这个关系不大,系统我换了5个(包括虚拟机系统,系统也是不同版本),都存在间歇性能访问的情况.所有的系统环境都同时发生变化导致无法访问的可能性不大,并且有两个系统就是专门重装的新系统来测试用的..)
打开记事本
内容如下:
regsvr32 comcat.dll /s
regsvr32 CSSEQCHK.DLL /s
regsvr32 shdoc401.dll /s
regsvr32 shdoc401.dll /i /s
regsvr32 asctrls.ocx /s
regsvr32 oleaut32.dll /s
regsvr32 shdocvw.dll /I /s
regsvr32 shdocvw.dll /s
regsvr32 browseui.dll /s
regsvr32 browsewm.dll /s
regsvr32 browseui.dll /I /s
regsvr32 msrating.dll /s
regsvr32 mlang.dll /s
regsvr32 hlink.dll /s
rem regsvr32 mshtml.dll /s
regsvr32 mshtmled.dll /s
regsvr32 urlmon.dll /s
regsvr32 plugin.ocx /s
regsvr32 sendmail.dll /s
rem regsvr32 comctl32.dll /i /s
rem regsvr32 inetcpl.cpl /i /s
rem regsvr32 mshtml.dll /i /s
regsvr32 scrobj.dll /s
regsvr32 mmefxe.ocx /s
rem regsvr32 proctexe.ocx mshta.exe /register /s
regsvr32 corpol.dll /s
regsvr32 jscript.dll /s
regsvr32 msxml.dll /s
regsvr32 imgutil.dll /s
regsvr32 thumbvw.dll /s
regsvr32 cryptext.dll /s
regsvr32 rsabase.dll /s
rem regsvr32 triedit.dll /s
rem regsvr32 dhtmled.ocx /s
regsvr32 inseng.dll /s
regsvr32 iesetup.dll /i /s
rem regsvr32 hmmapi.dll /s
regsvr32 cryptdlg.dll /s
regsvr32 actxprxy.dll /s
regsvr32 dispex.dll /s
regsvr32 occache.dll /s
regsvr32 occache.dll /i /s
regsvr32 iepeers.dll /s
rem regsvr32 wininet.dll /i /s
regsvr32 urlmon.dll /i /s
rem regsvr32 digest.dll /i /s
regsvr32 cdfview.dll /s
regsvr32 webcheck.dll /s
regsvr32 mobsync.dll /s
regsvr32 pngfilt.dll /s
regsvr32 licmgr10.dll /s
regsvr32 icmfilter.dll /s
regsvr32 hhctrl.ocx /s
regsvr32 inetcfg.dll /s
rem regsvr32 trialoc.dll /s
regsvr32 tdc.ocx /s
regsvr32 MSR2C.DLL /s
regsvr32 msident.dll /s
regsvr32 msieftp.dll /s
regsvr32 xmsconf.ocx /s
regsvr32 ils.dll /s
regsvr32 msoeacct.dll /s
rem regsvr32 wab32.dll /s
rem regsvr32 wabimp.dll /s
rem regsvr32 wabfind.dll /s
rem regsvr32 oemiglib.dll /s
rem regsvr32 directdb.dll /s
regsvr32 inetcomm.dll /s
rem regsvr32 msoe.dll /s
rem regsvr32 oeimport.dll /s
regsvr32 msdxm.ocx /s
regsvr32 dxmasf.dll /s
rem regsvr32 laprxy.dll /s
regsvr32 l3codecx.ax /s
regsvr32 acelpdec.ax /s
regsvr32 mpg4ds32.ax /s
regsvr32 voxmsdec.ax /s
regsvr32 danim.dll /s
regsvr32 Daxctle.ocx /s
regsvr32 lmrt.dll /s
regsvr32 datime.dll /s
regsvr32 dxtrans.dll /s
regsvr32 dxtmsft.dll /s
rem regsvr32 vgx.dll /s
regsvr32 WEBPOST.DLL /s
regsvr32 WPWIZDLL.DLL /s
regsvr32 POSTWPP.DLL /s
regsvr32 CRSWPP.DLL /s
regsvr32 FTPWPP.DLL /s
regsvr32 FPWPP.DLL /s
rem regsvr32 FLUPL.OCX /s
regsvr32 wshom.ocx /s
regsvr32 wshext.dll /s
regsvr32 vbscript.dll /s
regsvr32 scrrun.dll mstinit.exe /setup /s
regsvr32 msnsspc.dll /SspcCreateSspiReg /s
regsvr32 msapsspc.dll /SspcCreateSspiReg /s
regsvr32 licdll.dll /s
regsvr32 regwizc.dll /s
regsvr32 IEDKCS32.DLL /s
regsvr32 MSTIME.DLL /s
REM - Digital Signing and Cryptographic Provider dlls
regsvr32 softpub.dll /s
regsvr32 WINTRUST.DLL /s
regsvr32 INITPKI.DLL /s
regsvr32 DSSENH.DLL /s
regsvr32 RSAENH.DLL /s
regsvr32 Gpkcsp.dll /s
regsvr32 Sccbase.dll /s
regsvr32 Slbcsp.dll /s
regsvr32 CRYPTDLG.DLL /s
regsvr32 Mssip32.dll /s
REM - Add Remove Programs registration
regsvr32 appwiz.cpl /s
regsvr32 msi.dll /s
regsvr32 "%ProgramFiles%\Common Files\System\Ole DB\Oledb32.dll" /s
regsvr32 "%ProgramFiles%\Common Files\System\Ado\Msado15.dll" /s
regsvr32 Ole32.dll /s
regsvr32 Clbcatq.dll /s
regsvr32 Shell32.dll /s
regsvr32 Plugin.ocx /s
regsvr32 Cscui.dll /s
REM - Network Properties
regsvr32 netshell.dll /s
regsvr32 netcfgx.dll /s
regsvr32 netman.dll /s
REM - Helpcenter and related files
helpctr -regserver
regsvr32 hhctrl.ocx /s
REM - AU Client and WU related files
REGSVR32 MSXML2.DLL /s
REGSVR32 MSXML3.DLL /s
REGSVR32 MSXML4.DLL /s
Regsvr32 wuapi.dll /s
Regsvr32 wuaueng.dll /s
Regsvr32 wucltui.dll /s
Regsvr32 wups.dll /s
Regsvr32 wuweb.dll /s
Regsvr32 iuengine.dll /s
保存为Win7IEReg.bat,然后运行就可以了~~
还是没效果,
但最后试了一下这个命令(我是在安全模式下,不知道普通模式会不会有影响)
win7系统https无法打开cmd下netsh winsock reset
(个人觉得,winsock问题的可能性最大.因为两台物理机都安装了某家的安全软件,可能是更新某些软件或者修复漏洞(这些都是安全软件自动的),所以导致两台机器同时出现这问题,这样也就解释了为什么用虚拟机都无法访问,因为虚拟机也是通过物理机的网卡通信的.再说5个系统的环境都同时发生了变化,导致无法访问,这可能性也不大,而且虚拟机都是没装安全软件的新系统.并且同网络下另外一台能上的机器,没有安装这家的安全软件.)
并且internet选项中高级里面设置去掉了,TLS1.0前面的钩,(这个个人觉得影响不大,因为这个装完系统以后,默认就是选中"使用SSL 3.0"和"使用TLS 1.0",而我之前的系统访问时没任何问题的,如果有问题,应该一开始就无法访问才对.)
重启之后,居然好了,暂时不知道上面两种方法是否有关联。
这是WIN7下的方法。
做个笔记。
此文章也采用这种方法,可以参考
http://blog.sina.com.cn/s/blog_6821a77801015sal.html
netsh winsock reset,这个命令是修复WINSOCK2,可是你把WINSOCK和WINSOCK2删除了,修复肯定无效,所以要重新安装Internet 协议。
1:删除已损坏的注册表项1. 单击“开始”,然后单击“运行”。
2. 在“打开”框中,键入 regedit,然后单击“确定”。
3. 在注册表编辑器中,找到下列项,右键单击各项,然后单击“删除”:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
4. 在系统提示您确认删除时,单击“是”。
步骤 2:安装 TCP/IP
1. 右键单击网络连接,然后单击“属性”。
2. 单击“安装”。
3. 单击“协议”,然后单击“添加”。
4. 单击“从磁盘安装”。
5. 键入 C:\Windows\inf,然后单击“确定”。
6. 在可用协议列表中,单击“Internet 协议(TCP/IP)”,然后单击“确定”。
7. 重新启动计算机