IIS 中的 IIS 管理員使用者入門
由 IIS 小組, Tobin Titus
相容性
版本 | 備註 |
---|---|
IIS 7.0 和更新版本 | 本文所述的功能是在 IIS 7.0 中介紹的。 |
IIS 6.0 和更早版本 | 在 IIS 7.0 之前,本文所述的功能不受支援。 |
簡介
IIS 7.0 和更新版本有舊版 IIS 的新使用者介面:IIS 管理員。 本文說明外觀與操作、功能委派、設定互動和遠端處理。 請注意,某些版本的 IIS 可能沒有本文件所討論的一些功能/功能。
為什麼它必須改變? 以下是幾個主要原因:
- IIS 和 ASP.NET 一起運作:IIS 6.0 使用者以滑鼠右鍵按兩下網站、選取 [所有屬性],並取得具有不同設定索引卷標的對話框。 使用 IIS 7.0 和更新版本時,IIS 管理員必須顯示輸出快取、 失敗要求追蹤和 要求篩選等新功能的設定,以及 .NET Framework 中 ASP.NET 和相關部分的設定。 新功能需要更多新的索引標籤,這是無法接受的選項。
- 委派的系統管理:將組態從中繼基底移至 .NET 組態系統,表示用戶可以在web.config 檔案中設定IIS組態。 例如,應用程式的
http://www.contoso.com/sales
組態可以寫入根組態檔 applicationHost.config、網站http://www.contoso.com/
web.config 檔案,或直接寫入應用程式的 web.config 檔案。 新的 IIS 管理員必須:1)允許系統管理員控制 web.config 檔案中允許的設定,2) 顯示正在寫入設定的系統管理員/使用者。 較舊的 IIS 管理員不會受到這些挑戰。 - 工程原因:軟體的保質期。 時間帶來了新技術、新需求、新慣例,以及更新現有軟體變得更加密集且成本高昂的重建軟體。 IIS 管理員即將結束其保質期。
還有別的知道嗎? 一旦我們決定重寫 IIS 管理員,我們便有機會以數種關鍵方式改善:
- 擴充性:擴充 IIS 6.0 版的 IIS 管理員十分困難。 新的 IIS 管理員可讓您更輕鬆地新增功能頁面、樹視圖節點和功能表項;全部使用 Managed 程式代碼和 WinForms。 線上到伺服器的遠端 IIS 管理員用戶端會自動偵測並下載新的 IIS 管理員延伸模組。
- 遠端管理:遠端管理全都透過 HTTPS 完成,讓防火牆更容易管理。 Web Management Service (WMSVC) 是選擇性的可安裝元件,可啟用遠端管理。
- 新的外觀與風格:IIS 管理員需要更可調整的模型來公開設定,而產生的功能清單檢視類似於 控制台。 清單檢視可以透過不同的方式進行排序、分組和檢視,讓您更容易找到您要尋找的內容。 IIS 管理員瀏覽也採用更類似瀏覽器的感覺,網址列是 la Windows Explorer。
注意
本檔是針對 Windows Server 2008 撰寫的。 Windows Vista® 可能沒有本文件所討論的一些功能/功能。
新外觀和風格
網際網路資訊服務 (IIS) 管理員在過去版本中具有 [上一頁/ 轉寄類型] 導覽,而新的 IIS 管理員會藉由新增類似 Windows 檔案總管的網址列,以更進一步的方式進行此作業。
圖 1:新增 IIS 管理員
首頁
當您開始使用 IIS 管理員時,首頁就會變得非常熟悉。 中間的功能清單可以依功能名稱或描述排序,依區域或類別分組,並在不同的版面配置中檢視。
圖 2:IIS 管理員中的群組
功能範圍
樹檢視中的伺服器、月臺、應用程式、虛擬目錄和資料夾節點全都顯示具有功能清單的首頁。 大部分功能都會出現在所有這些節點的首頁上,但有例外狀況。
這些功能只會出現在伺服器首頁上,因為它們是全伺服器組態、數據或資訊:
- ISAPI 和 CGI 限制
- 憑證 (但完全不會出現在遠端連線中)
- 管理服務 (但完全不會出現在遠端連線中)
- 工作者處理序
除了伺服器首頁之外,這些功能會隨處顯示,因為它們是應用程式組態,而且在伺服器層級上不是邏輯功能,或者因為它們的運作方式更好(SSL):
- 成員資格使用者
- 成員資格角色
- 設定檔
- SSL
與委派相關聯的功能有 其出現位置的特殊規則 :
- 功能委派:一律只會針對連線的根節點顯示
- 系統管理員:僅針對伺服器、月臺和應用程式節點顯示
功能版面配置
IIS 中有三種類型的頁面
清單頁面
清單頁面包含清單。 大部分的清單頁面可讓您依一或多個數據行中的值分組。 網站和應用程式集區等主要清單頁面可讓您在清單數據行中搜尋符合搜尋字串的專案,以篩選清單專案。
圖 3:IIS 管理員列表頁面
工作 窗格中的 [新增/編輯/移除 工作] 可讓您操作清單的內容。 不是清單專案特定的功能設定,例如指定自定義錯誤應該由本機要求的詳細錯誤覆寫,通常是透過 [編輯功能設定... ] 工作來設定。
圖 4:IIS 管理員動作
屬性方格
屬性方格頁面會顯示相關屬性的方格。 屬性 方格頂端的 [顯示 選取器] 可讓您選擇是否要檢視易記屬性名稱、組態屬性名稱或兩者。 下列螢幕快照顯示這兩個名稱。
圖 5:IIS 管理員中的屬性方格
對話方塊
對話框頁面有複選框、文本框和單選按鈕,而且通常是最熟悉的頁面類型。 使用工作窗格中的 [套用/取消] 來儲存變更。
內容檢視
內容檢視是只讀的顯示;您無法在此檢視中建立、複製、移動或刪除檔案或資料夾。 您可以在 IIS 管理員中間窗格底部的功能檢視/內容檢視切換器中按兩下 [內容檢視],或以滑鼠右鍵按兩下樹檢視節點,然後選取 [切換至內容檢視] 來進入內容檢視。
設定檔案組態的唯一方法是切換至 [內容檢視]、選取檔案,然後按滑鼠右鍵功能表或工作窗格中的 [切換至功能檢視]。
圖 6:切換至功能檢視
功能委派
如果您是 伺服器管理員 ,且不是在伺服器上提供內容的主要人員,或如果您是 開發人員 ,而且想要更充分掌控應用程式的 IIS 組態,您可能會對功能委派感興趣。
IIS 功能委派 表示管理:
- 組態區段鎖定 來控制 web.config 中可以設定的組態(一般而言,一個 IIS 組態區段是一個 IIS 模組)
- 允許使用 IIS 管理員的月臺和應用程式使用者集合,以檢視已解除鎖定組態區段的功能組態和設定組態
以下是 IIS 管理員中功能委派的游標說明。 如需深入的逐步解說,請參閱 如何管理功能委派。
組態鎖定
如果組態區段預設為「鎖定」,則只能在 applicationHost.config 中設定。IIS 管理員提供一種方法,讓伺服器管理員「解除鎖定」IIS 組態區段。 一旦解除鎖定組態區段,就可以由非系統管理員在web.config檔案中設定。
例如,IIS 管理員中的「自定義錯誤頁面」功能會與 「system.webServer/HTTPErrors」 區段中的組態互動。 如果伺服器管理員使用 IIS 管理員或 appcmd 來解除鎖定 system.web/httpErrors 組態區段,HTTPErrors 區段將會出現在 applicationHost.config 中具有 overrideMode=“allow” 的位置標記內:
<location path="" overrideMode="Allow">
<system.webServer>
<httpErrors/>
</system.webServer>
</location>
OverrideMode=“allow” 表示在 web.config 檔案中設定 HTTPErrors 的組態是有效的:
<configuration>
<system.webServer>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/errors/404.aspx" responseMode="Redirect" />
</httpErrors>
</system.webServer>
</configuration>
請參閱下方的<伺服器、月臺和應用程式連線>一節,以瞭解組態鎖定如何影響連線。 如需設定鎖定的深入資訊,請參閱 如何使用組態鎖定。
網站和應用程式管理員
此外,伺服器管理員可以讓 非系統管理員使用 IIS 管理員 連線到網站或應用程式。 無法連線到網站或應用程式的非系統管理員稱為「月臺管理員」或「應用程式管理員」,而且可以:
- 管理其網站或應用程式的未鎖定組態 (設定會寫入 web.config 檔案中)
- 檢視鎖定的組態設定 ,而無法修改設定
- 為其網站或應用程式新增其他網站或應用程式管理員
如需如何建立網站和應用程式管理員的資訊,請參閱在線檔 建立網站和應用程式管理員以進行委派。
伺服器、月臺和應用程式連線
只有電腦管理員可以使用 IIS 管理員來連線到網頁伺服器。 伺服器連線 可以寫入根組態檔、applicationHost.config 和 root web.config,以及所有分散式 web.config 檔案。 如果 applicationHost.config 中鎖定組態區段,對應的功能將會在伺服器連線中讀取/寫入,因為組態變更會寫入位置標記中的 applicationHost.config。
計算機管理員和指定的網站管理員可以連線到網站。 月台聯機只能寫入網站根資料夾下的 web.config 檔案。 如果 applicationHost.config 中鎖定組態區段,對應的功能將會在月台聯機中顯示為只讀,因為站台聯機無法將組態寫入 applicationHost.config(即使在位置標記中)。 這會影響計算機管理員和月臺管理員。
圖 7:IIS 管理員中的設定階層
計算機的系統管理員、應用程式的父月臺指定應用程式管理員和月臺管理員可以連線到應用程式。 應用程式連線只能寫入應用程式根資料夾下的web.config檔案。 如果 applicationHost.config 或網站的 web.config 檔案中鎖定組態區段,對應的功能將會在應用程式連線中顯示為只讀。
如需如何連線到伺服器、網站或應用程式的資訊,請參閱在 IIS 7.0 中管理連線的在線檔。
組態
即使您永遠不會變更組態鎖定,也永遠不會使用功能委派,有時候您會想知道 IIS 管理員如何決定寫入組態的位置。 有兩個規則可定義此行為:
- ApplicationHost.config 與 root Web.config:如果此功能列在 IIS 管理員的 ASP.NET 區域之下,伺服器層級設定將會寫入 .NET Framework v2.0 的根 web.config 檔案。 如果此功能列在 IIS 管理員的 IIS 區域底下,伺服器層級設定將會寫入 applicationHost.config。此規則的唯一例外是窗體驗證,其位於 IIS 區域下的 [驗證] 功能中。
- 鎖定與解除鎖定的組態:預設會解除鎖定所有 ASP.NET 組態區段和幾個 IIS 組態區段。 針對未鎖定的區段,如果月臺的組態已變更,IIS 管理員會寫入網站的web.config,如果應用程式的組態已變更,則會寫入應用程式的組態。 根據預設,大部分的 IIS 組態區段都會鎖定。 針對鎖定的區段,即使修改月臺和應用程式的組態,IIS 管理員一律會寫入 applicationHost.config。
狀態列
狀態列會顯示 IIS 管理員將寫入設定的位置:
組態:'config_file_object_path'< config_file_name>>,<位置路徑=“<path”><>
<config\_file\_object\_path>
是組態檔物件的路徑,例如:
- “localhost”: 伺服器層級組態;適用於 IIS 功能的 applicationHost.config、ASP.NET 功能的根 web.config。
- “localhost/Default Web Site”:默認網站實體資料夾中的 web.config 檔案
- “localhost/Default Web Site/careers/technical”:對應至默認網站下 URL “/careers/technical” 之實體資料夾中的 web.config 檔案
<config\_file\_name>
是目標組態檔的名稱,例如:
- “applicationHost.config 或 root Web.config”:適用於 IIS 功能的 applicationHost.config、ASP.NET 功能的根 web.config
- “web.config”:Web 命名空間中的 web.config 檔案
<location\_path>
是所設定物件的位置路徑(如需位置路徑的詳細資訊,請參閱組態概觀)。 只有在功能組態區段鎖定在較高層級時,才會顯示這部分文字。
範例:寫入 ApplicationHost.config 與 root Web.config
壓縮是 IIS 功能,如果您依 [區域] 群組/篩選首頁功能清單,則會出現在 IIS 底下。 如果您瀏覽至伺服器層級的 [壓縮] 頁面並停用靜態壓縮,IIS 管理員會將此組態 %windir%\Windows\system32\inetsrv\applicationHost.config
寫入 :
<urlCompression doStaticCompression="false" />
.NET 編譯是 .NET Framework 組態,如果您依 [區域] 將首頁功能列表分組/篩選,它會出現在 [ASP.NET] 底下。 如果您流覽至伺服器層級 .NET 編譯頁面,並將默認語言設定為 C#,IIS 管理員會將 defaultLanguage 屬性新增至根 web.config 檔案中的編譯區段,亦即 %windir%\Windows\\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config
:
<compilation defaultLanguage="C#">
這兩種情況的狀態欄都會讀取:設定:'localhost' applicationHost.config 或 root web.config
範例:寫入鎖定與解除鎖定的組態
IIS “defaultDocument” 組態區段預設會解除鎖定。 如果您設定預設網站的預設檔,IIS 管理員會將此設定寫入 :%windir%\inetpub\wwwroot\web.config
<configuration>
<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="default.aspx" />
</defaultDocument>
</system.webServer>
</configuration>
狀態列將會讀取:組態:『默認網站』web.config
IIS 「HTTPErrors」 組態區段預設會解除鎖定。 如果您自定義預設網站的 HTTP 404 回應,IIS 管理員會將此組態寫入 :%windir%\Windows\system32\inetsrv\applicationHost.config
<location path="Default Web Site" overrideMode="Allow">
<system.webServer>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" path="/err/404.aspx" responseMode="Redirect" />
</httpErrors>
</system.webServer>
</location>
狀態欄將會讀取: 'localhost' applicationHost.config 或 root web.config, <location path=“Default Web Site”>
IIS 6.0 和舊版 IIS 的 IIS 管理員遠端處理是透過 MMC 且一律啟用。 使用 IIS 7.0 和更新版本時,必須明確啟用 IIS 管理員遠端處理。 所有遠端管理都是透過 HTTPS 完成,並由稱為 Web 管理服務 (WMSVC) 的 IIS 元件處理。 如果您想要透過 IIS 管理員啟用 IIS 7.0 和更新版本的遠端管理,請參閱 如何啟用 IIS 管理員遠端處理。
Web 管理服務 (WMSVC)
Web 管理服務 (WMSVC) 是裝載於NT服務的獨立Web伺服器(可裝載Web核心 (HWC)。 安裝並啟動 WMSVC 之後,它會在所有未指派的 IP 位址上接聽埠 8172。 它預期只會接收 4 種類型的要求,而且每個要求都是由它自己的處理程式提供服務:
- login.axd 的登入要求
- 程式代碼下載要求以 download.axd
- 對 service.axd 的管理服務要求
- Ping 對 ping.axd 的要求
登入要求
IIS 管理員會透過網路將登入要求傳送至 WMSVC,以擷取連線。 驗證是 NTLM 或基本身份驗證,視使用者要求在連線對話方塊中提供認證時所選取的內容而定。
圖 9:指定認證
程式代碼下載要求
如果登入成功,WMSVC 會傳回連線的 UI 模組清單。 例如,每個 IIS 管理員頁面,例如「自訂錯誤頁面」會對應至模組。 如果有 IIS 管理員沒有的模組,它會要求下載模組二進位檔(例如,如果伺服器管理員在其生產伺服器上安裝了新的 RSA 安全性產品,但未在用來連線到伺服器的桌面電腦上安裝產品,就會發生這種情況)。
管理服務要求
建立連線之後,使用者會與 IIS 管理員互動,造成管理服務要求。 管理服務會要求 WMSVC 中的直接模組服務,以讀取/寫入組態、運行時間狀態,以及伺服器上的提供者。
Ping 要求
Ping 要求是從 WMSVC 服務內對它所裝載的 Web 伺服器 (HWC) 進行。 Ping 要求是一個簡單的機制,可確保可裝載的 Web 核心繼續回應。
服務組態
WMSVC 有非常少量的可編輯組態儲存在登錄中。 每次啟動服務時,都會在 中 %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\
重新產生 Web 組態檔。 即使系統管理員也無法編輯 Web 組態檔。
圖 10:變更登錄中的組態
安全性
IIS 管理員和 Web 管理服務 (WMSVC) 遠端處理已經過一系列檢閱,以確保功能簡單且安全。 以下是採取的一些安全性措施:
- 所有連線都需要 SSL (HTTPS)才能保護遠端 IIS 管理員用戶端與 WMSVC 之間傳遞的數據
- 以降低的許可權集執行為本地服務
鎖定可裝載的 Web Core (HWC) 設定,包括一組最少的必要模組,以及精心製作的要求篩選規則。