在灾难恢复的试验中,遇到了一个IIS无法启动的情况,会报如下的错误:
"The network location cannot be reached, xxxxxx"
要知道,Windows报的这种弹窗错误,也只能通过Windows自带的事件管理器里查看了。直接运行:eventvwr,打开SYSTEM项,一个大大的错误映入眼帘:
所以错误就很明显了,没有把我们的新地址添加到监听列表里。。。
根据搜索,发现仅仅用IIS的图形界面工具,似乎无法让IIS去监听某一个IP地址的某个端口,必须要用httpcfg工具来把监听列表更新一下才可以。猜想这个监听列表是属于系统文件的一部分,IIS在启动的时候可能是会依据这个文件作为更高优先级别的端口绑定。
所以呢,就按照如下步骤:
1) httpcfg query iplisten
先列出来现在的监听列表。
2) httpcfg delete iplisten -i 10.50.165.45
移除旧的监听IP地址。
3) httpcfg set iplisten -i 10.52.21.1
添加新的IP地址到监听列表。
再次测试!
依然失败。。。为什么?重启一下Server就好了。。。。。。
OK,Server重启完之后IIS也随系统启动起来了,查看一下监听的端口和IP:
成功!可以看到进程4监听10.52.21.125的80和443端口。进程4是一个系统进程,IIS貌似也是属于挂在这个进程里边的一个子进程(猜想。。。不太懂IIS)。
好了IIS设置好了,接下来再次测试一下IHS。正常启动!
查看了80和443端口,也可以看到,两个IP共享同一个端口。
所以现在这台服务器既可以接受向IP:10.52.21.125发送的请求(IIS会处理这些请求),也可以接受向IP:10.52.21.45发送的请求(IHS会处理这些请求)。
设置IIS服务器监听特定IP的特定端口(IIS与IHS或Apache共存的解决方案),布布扣,bubuko.com
设置IIS服务器监听特定IP的特定端口(IIS与IHS或Apache共存的解决方案)
原文地址:http://www.cnblogs.com/delly/p/3849756.html