引言:按照常規方式,可以在IIS服務器上啟用遠程桌面/終端服務,在IIS管理器中對網站進行管理。也可以打開MMC控制臺,通過安裝與IIS管理相關的插件,來對遠程IIS主機進行管理。不過,當IIS服務器上運行多個網站時,操作者因為擁有過大的權限,可以對其他的網站配置信息進行更改。利用IIS 8的遠程管理服務,可以實現精確的網站維護功能。
按照常規方式,可以在IIS服務器上啟用遠程桌面/終端服務,來遠程登錄到IIS服務器上,在其中的IIS管理器中對網站進行管理。也可以打開MMC控制臺,通過安裝與IIS管理相關的插件,來對遠程IIS主機進行管理。不過,上述方法存在一些缺點。例如,當在IIS服務器上運行多個網站時,那么操作者因為擁有過大的權限,不僅可以管理自己的網站,還可以對其他的網站配置信息進行隨意更改。這樣,就無法對IIS進行準確的管理。利用IIS 8的遠程管理服務,可以實現精確的網站維護功能。
利用IIS 8的遠程管理服務,可以實現精確的網站維護功能,讓不同的用戶只能管理自己的網站。為了提高安全性,IIS服務器往往置于防火墻之后。因為IIS 8遠程管理服務使用的是TCP 8172端口,因此只要在防火墻上開放這一端口,就可以讓用戶自由進行訪問。相比之下,如果采用MMC控制臺的方式,對IIS服務器進行遠程管理的話,想將其發布到Internet上,其難度會大大增加。

圖1 IIS管理服務設置界面
在IIS服務器上打開PowerShell界面,執行“Add-WindowsFeature Web-Mgmt-Service -IncludeAllSub Feature”命令,來安裝Web服務器管理服務組件。在Windows 8中打開控制面板,打 開Windows功能窗口,選擇“Internet Information services→Web管理工具→IIS管理控制臺”項,點擊“確定”,該程序就會搜索相關的文件,并完成客戶端管理工具的安裝操作。
在IIS服務器上打開IIS管理器,選擇服務器名稱,在右側的“管理”欄中雙擊“管理服務”項,在打開窗口(如圖1)中選擇“啟用遠程連接”項,激活遠程管理服務功能。在“標識憑據”欄中選擇“僅限于Windows憑據”項,表示僅僅允許Windows賬戶進行遠程訪問。選擇“Windows憑據或IIS管理器憑據”項,表示允許Windows賬戶和在IIS中創建的用戶進行遠程訪問。為了便于管理,最好為IIS服務器配置多塊網卡,分別用于處理業務流量和管理流量。在“IP地址”列表中選擇合適的地址,默認為“全部未分配”項,表示使用所有的網卡。
使用SSL證書,可以保證客戶端和IIS服務器連接的安全性。當完成遠程管理組件安裝后,系統會自動為其生成名為“WMSVC”的自簽名證書。在實際的管理中,可以創建專用的證書。在IIS管理器中雙擊“服務器證書”項,在窗口右側點擊“創建域證書”鏈接,在向導界面中輸入其通用名稱(一般為本機全名)、組織、組織單位、城市/地點、省/市/自治區、國家/地區等信息,在下一步窗口中點擊選擇按鈕,選擇證書頒發機構,輸入好記名稱(例如“IISYCGL Cert”),點擊完成按鈕獲得所需的賬戶。
當然,這里的IIS服務器處于域環境中,配置有CA證書頒發機構。在IIS遠程管理界面中的“SSL證書”列表中選擇上述“IISYCGL Cert”證書,選擇“將請求記錄到”項,可以設置日志文件存儲路徑。這樣,所有的連接請求都會被記錄下來。在“IP地址限制”欄中可以設置允許或者拒絕訪問的客戶端地址。例如,點擊“拒絕”按鈕,在彈出窗口中可以禁止訪問的IP地址或者IP范圍。
配置好IIS服務器后,在Windows 8客戶端上打開IIS管理器,可以看到在默認情況下,連接的是該機本身,在左側并沒有顯示“起始頁”項目。點擊右側的“獲取新的Web平臺組件”鏈接,在打開的網頁中下載Microsoft Web Platform Installer軟件,利用該軟件,可以很方便地安裝Web擴展組件。運行該軟件,在主界面右上角的搜索欄中輸入“Remote Administration”之類的內容,執行搜索操作,在查找列表中可以看到名為“IIS Manager for Remote Administration”組件,點擊其右側的“添加”按鈕,之后點擊安裝按鈕,在該組件詳細信息窗口中可以點擊“直接下載鏈接”項,可以將其安裝包下載到本地,之后直接手動安裝。也可以點擊“我接受”按鈕,自動執行安裝操作。當安裝好IIS Manager for Remote Administration組件后,在客戶端IIS管理器左側就會出現“起始頁”項。
點擊“起始頁”,在右側點擊“連接到服務器”項,在向導界面中的“服務器名稱”欄中輸入IIS服務器的名稱或者IP,在提供憑據窗口中輸入IIS服務器的Windows賬戶名(例 如“xxxadministrator”,XXX為具體的域名)和密碼,點擊下一步,當出現“已成功創建新連接”的信息后,您可以根據需要修改連接的名稱,默認為IIS服務器的全名。點擊“完成”按鈕,在彈出的可用的新功能窗口中提示需要安裝ASP.NET模擬、WebObject模塊、處理程序等功能,點擊“確定”按鈕,完成所需的安裝動作。依次點擊彈出窗口中的運行按鈕,讓客戶端獲取所需的新功能模塊。之后,就會顯示IIS服務器上的所有網站、應用程序等內容,您就可以對其進行管理了。
我們使用的是IIS服務器管理員身份進行連接,可以查看到所有的網站信息,這并沒有實現IIS的精確管理功能。解決方法是,在IIS服務器上打開IIS管理器,選擇對應的網站(例如“Web1”),在右側點擊“IIS的管理器權限”項,在打開窗口右側點擊“允許用戶”鏈接,在彈出窗口(如圖2)中選擇“Windows”項,點擊“選擇”按鈕,導入特定的賬戶。點擊“確定”按鈕,該賬戶就擁有了對選定網站的管理權限。
為了合理控制該賬戶的控制權限,可以在IIS管理器中選擇服務器名,在右側點擊“功能委派”項,在打開窗口中可以針對ASP.NET模擬、HTTP響應頭、MIME類型、SSL設置、處理程序映射、錯誤頁、功能委派、模塊、默認文檔、目錄瀏覽、請求篩選、日志、身份驗證-匿名、輸出緩存、壓縮等模塊,在右側的“操作”欄中對其設置只讀和讀寫等權限。
點擊“自定義站點委派”鏈接,在打開窗口中的“站點”列表中選擇目標網站,顯示該網站管理者擁有的針對不同模塊的控制權限(如圖3)。選擇對應的模塊,在右側點擊“讀/寫”、“只讀”、“未委派”等項目,可以更改針對選定模塊的管理權限。當配置了合適的管理權限后,在客戶端上打開IIS管理器,按照上述方法,使用選定的Windows賬戶來連接IIS服務器。當連接成功后,該賬戶只能看到指定的網站,而無法接觸IIS服務器上的其他站點。對于不同的模塊來說,該賬戶只能按照預設的權限進行管理,而無法隨心所欲地進行控制。

圖2 添加所需的管理賬戶

圖3 控制賬戶的管理權限
注意,打開“默認文檔”窗口,試圖調整“index.html”之類的文檔排列順序時,會遭到系統的拒絕。這是因為沒有為賬戶設置合適的目錄訪問權限所致。解決方法是,在IIS服務器上打開“C:Inetpubwwwroot”目錄,在屬性窗口中選擇“權限”,依次點擊編輯和添加按鈕,導入上述管理賬戶。之后,在“組或用戶名”列表中選擇該賬戶,在權限列表中的“允許”列中選擇“修改”項,使其擁有修改目錄內容的權限。這樣,該賬戶就可以自由調整默認文檔的排列順序了。
上面談到的是使用Windows賬戶來訪問IIS服務器,其實也可以使用IIS用戶來執行訪問操作。在IIS服務器上打開IIS管理器,在左側選擇服務器名稱,在右側點擊“IIS管理器用戶”項,在打開窗口中點擊“添加用戶”鏈接。在彈出窗口中輸入用戶名(例如“glyuan”)和密碼,點擊“確定”按鈕,創建該IIS用戶。之后在IIS管理服務窗口右側點擊“停止”鏈接,選擇“Windows憑據或IIS管理器憑據”項,并按照上述方法,配置合適的控制權限。點擊“啟動”鏈接重啟IIS管理服務。這樣,在客戶端就可以使用該IIS用戶,來遠程管理IIS服務器。不過,在實際的管理中,出于安全性以及權限控制的要求,建議盡量使用Windows賬戶,來遠程管理IIS服務器。
這里順便說一下Microsoft Web Platform Installer軟件的功能,使用該工具,可以輕松構建開發環境、應用環境以及針對流行應用程序的支持。在Web Platform Installer主界面工具欄上點擊“產品”項,在左側選擇全部、服務器、框架、數據庫、工具、Windows Azure等項,在右側顯示大量的組件。例如,選擇“SQL Server Express 2008 R2”項,點擊添加和安裝按鈕,就可以自動安裝選定的組件。通過安裝各種開發工具,可以很輕松構建出所需的開發環境。在工具欄上點擊“應用程序”項,在最左側選擇全部、應用程序框架、博客、CMS、電子商務、論壇、庫、工具、Wiki等類別,在右側顯示了大量的應用程序可供選擇和安裝。這樣,可以快速構建應用環境。
這里以配置和管理Wordpress開發工具為例,可以在搜索欄中輸入“wordpress”項,找到該組件,點擊“添加”和“安裝”按鈕,在彈出窗口中選擇MySQL數據庫,輸如MySQL的ROOT賬戶密碼,點擊“繼續”按鈕,會列出WordPress運行所需要的所有組件,點擊“我接受”按鈕,就會自動安裝PHP、MySQL、Web Deploy、IIS日志、IIS請求監視器、URL重寫工具、RunPHP Help、VC++可再發行組件包、MySQL Connector/Net等組件。之后,輸入網站的名稱、應用程序名稱、IP地址、端口、主機名等信息,點擊“繼續”按鈕,執行所需的配置操作。點擊“完成”按鈕,就毫不費力的地構建起WordPress運行環境。