設置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