解决IIS 6.0不能启动--”无法访问网络“的故障
现在我先查询一下HTTP.sys的IP地址包含列表,运行以下命令:
httpcfg query iplisten
如下图所示,返回的错误代码1168的含义是找不到匹配元素,这代表IP地址包含列表目前没有任何元素,因此HTTP.sys侦听本地计算机的所有IP地址。
现在我们为IP地址包含列表添加一个IP地址,例如,我想让HTTP.sys只是侦听10.1.1.9这个IP地址,则运行以下命令:
httpcfg set iplisten -i 10.1.1.9
如下图所示,返回的错误代码0代表成功完成。因为HTTP.sys只是在启动时读取此IP地址包含列表,所以此时我们需要重启HTTP.sys。
运行以下命令重启HTTP.sys:
net stop http /y
net start w3svc
如下图所示,HTTP.sys成功重启。
再查询一下IP地址包含列表和HTTP.sys侦听Web服务的端口,如下图所示,已经修改为10.1.1.9了。
我们试着在IIS中为Web站点分配一个并未包含在HTTP.sys IP地址包含列表中的IP地址,例如10.1.1.10,
此时,你会发现,此Web站点已经停止服务了,当你试着启动它时,错误提示不能访问网络位置。
另外需要注意的是,如果你需要通过localhost来访问Web站点,那么你需要将环回IP地址127.0.0.1加入到IP地址包含列表中,如下图所示:
最后,如果你想还原Socket Pool,则删除IP地址包含列表中的所有IP地址即可,运行以下命令:
httpcfg delete iplisten -i 127.0.0.1
httpcfg delete iplisten -i 10.1.1.9
结果如下图所示,
然后重启HTTP.sys即可。
看完了上面,相信IIS“不能访问网络位置”而不能启动的问题就能顺利解决了。感谢“风间子”--ISACN.ORG,前文的整理只是为了自己阅读方便。
有空还是很有必要好好深入读读理论。