设置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会处理这些请求)。 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM