在災難恢復的試驗中,遇到了一個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會處理這些請求)。