设置IIS服务器监听特定IP的特定端口(IIS与IHS或Apache共存的解决方案)

在灾难恢复的试验中,遇到了一个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会处理这些请求)。 

原文地址:https://www.cnblogs.com/delly/p/3849756.html