共用方式為


如何開始使用 IIS 經理

作者:IIS團隊, 托賓·泰特斯

Compatibility

版本 註釋
IIS 7.0 及以後版本 本文所述的功能是在 IIS 7.0 中引入的。
IIS 6.0 及更早版本 本文所述的功能在 IIS 7.0 之前未被支援。

簡介

IIS 7.0 及以後版本採用了與先前版本不同的使用者介面:IIS 管理員。 本文描述了外觀與感受、功能委派、與設定的互動以及遠端管理。 請注意,某些版本的 IIS 可能不具備本文件中討論的部分功能或特性。

為什麼一定要改變? 以下是幾個主要原因:

  • IIS 與 ASP.NET 協同運作:IIS 6.0 使用者在網站上右鍵點擊,選擇「所有屬性」,即可看到包含多個不同設定分頁的對話框。 在 IIS 7.0 及以上版本中,IIS Manager 需要顯示新功能的配置,如輸出快取、 失敗的請求追蹤請求過濾,以及 .NET 框架中 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 Manager 正接近其保存期限的終點。

還有什麼需要知道的嗎? 當我們決定重寫 IIS Manager 後,我們抓住機會在多項關鍵方面進行改進:

  • 擴充性:擴充 IIS 6.0 版本的 IIS Manager 極為困難。 新的 IIS 管理器讓新增功能頁面、樹狀檢視節點和選單項目變得更容易;全部使用受管程式碼與 WinForms。 新的 IIS 管理器擴充功能會被遠端 IIS Manager 用戶端自動偵測並下載。
  • 遠端管理:遠端管理全部透過 HTTPS 完成,使其對防火牆友善且易於管理。 網頁管理服務(WMSVC)是可選擇安裝的元件,可實現遠端管理。
  • 全新外觀與感受:IIS Manager 需要一個更具可擴展性的設定模型,因此產生的功能清單檢視類似控制面板。 清單檢視可以被排序、分組,並以不同方式瀏覽,讓你更容易找到所需資料。 IIS Manager 的導航也變得更像瀏覽器,並設有類似 Windows 檔案總管的地址列。

備註

本文件為 Windows Server 2008 撰寫。 Windows Vista® 可能沒有本文件中提到的一些功能或特性。

全新外觀與氛圍

過去版本的網際網路資訊服務(IIS)管理器具備前後導航功能,而新的 IIS 管理器更進一步,新增了一個類似 Windows 檔案總管的 地址列

I I S 管理員畫面的截圖,顯示預設網站首頁。

圖 1:新 IIS 管理器

首頁

一旦開始使用 IIS Manager ,首頁就會變得非常熟悉。 中間的特徵列表可依特徵名稱或描述排序,依區域或類別分組,並以不同版面檢視。

預設網站首頁窗格截圖,顯示群組、檢視與功能清單。

圖 2:IIS Manager 中的分組

功能範圍

樹狀檢視中的伺服器、網站、應用程式、虛擬目錄和資料夾節點都會顯示一個首頁和功能清單。 大多數功能都會出現在這些節點的首頁,但也有例外。

這些功能因是伺服器整體配置、資料或資訊而出現在伺服器首頁

  • ISAPI與CGI限制
  • 憑證(但在遠端連接中沒有顯示)
  • 管理服務(但在遠端連線中完全不會出現)
  • 工作流程

這些功能會出現在伺服器首頁以外的所有地方,因為它們是應用程式設定,在伺服器層級不具邏輯性,或者這樣運作(例如 SSL)效果更佳。

  • 會員使用者
  • 會員職務
  • Profile
  • SSL

與委派相關的功能在出現的地方有特殊規則

  • 功能委派:總是只出現在連線的根節點上
  • 管理員:僅出現在伺服器、站點及應用程式節點

專題頁面版面

IIS 中有三種類型的頁面

清單頁

清單頁面是由清單組成。 大多數清單頁面允許你依值在一個或多個欄位中分組。 主清單頁面,如網站與應用程式池,允許你透過在清單欄位中搜尋與搜尋字串相符的條目來篩選清單條目。

I I S Manager 畫面的截圖,顯示 Go 選單和動作面板。

圖 3:IIS 經理名單頁面

工作面板中的 新增/編輯/移除 任務讓你可以操作清單內容。 非特定於清單條目的功能設定,例如指定自訂錯誤應被本地請求的詳細錯誤覆蓋,通常透過 「編輯功能設定... 」任務來設定。

功能設定頁面的截圖,顯示警示窗格。

圖 4:IIS 管理者操作

屬性網格

屬性網格頁面顯示相關屬性的網格。 位於屬性表格頂端的 顯示 選擇器讓你選擇要檢視友好屬性名稱、設定屬性名稱,或兩者兼有。 下面的截圖顯示了兩個名字。

物件格子頁面的截圖,顯示友善名稱和配置名稱。

圖 5:IIS Manager 中的物業網格

Dialog

對話頁面有勾選框、文字框和單選按鈕,通常是最常見的頁面類型。 在工作窗格中使用 Apply/Cancel 來儲存變更。

內容檢視

內容檢視是唯讀顯示;在此檢視中,您無法建立、複製、移動或刪除檔案或資料夾。 你可以在 IIS Manager 中段窗格底部的「功能檢視/內容檢視切換器」中點選「內容檢視」,或右鍵點擊樹狀檢視節點並選擇「切換到內容檢視」進入內容檢視。

設定檔案的唯一方法是切換到內容檢視,選取該檔案,然後在右鍵選單或工作欄選中點擊「切換到功能檢視」。

截圖顯示功能檢視與內容檢視選項。

圖 6:切換至功能檢視

專題分組

如果你是伺服器管理員,且不是主要提供伺服器內容的人,或是開發者,想對應用程式的 IIS 配置有更多控制權,你可能會對功能委派感興趣。

IIS 功能委派 指的是管理:

  • 配置區段鎖定,用以控制 web.config 中可設定的配置(一般而言,一個 IIS 配置區段對應一個 IIS 模組)
  • 允許使用 IIS Manager 來查看及設定功能配置的網站與應用程式使用者集合,其中包括具有解鎖配置區段的功能。

以下是 IIS Manager 中功能委派的簡要說明。 欲深入了解,請參閱 「如何管理功能委派」。

組態鎖定

如果設定區塊預設是「鎖定」的,則只能在 applicationHost.config中設定。IIS 管理員提供一種方式,讓伺服器管理員能夠「解鎖」IIS 設定區段。 一旦某個設定區段解鎖,非管理員可以在 web.config 檔案中設定。

例如,IIS Manager 中的「自訂錯誤頁面」功能會與「system.webServer/httpErrors」區段的設定互動。 如果伺服器管理員使用 IIS Manager 或 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 Manager 連接網站或應用程式。 能連接站點或應用程式的非管理員稱為「站點管理員」或「應用程式管理員」,他們可以:

  • 管理其網站或應用程式的解鎖設定(設定寫入 web.config 檔案)
  • 查看鎖定的設定, 但無法修改
  • 為他們的網站或應用程式新增其他網站或應用程式管理員

有關如何建立網站與應用程式管理員的資訊,請參閱線上文件「 建立網站與應用程式管理員以供委派」。

伺服器、站點與應用程式連接

只有機器管理員可以使用 IIS Manager 連接網頁伺服器。 伺服器連線 可以寫入根組態檔案、applicationHost.config 和 root web.config,以及所有分散式 web.config 檔案。 如果設定區段被鎖定在 applicationHost.config中,對應的功能會在伺服器連線中被讀寫,因為設定變更會寫入 applicationHost.config 位置標籤中。

機器管理員及指定的站點管理員可以連接到網站。 網站連線只能寫入網站根目錄下的 web.config 檔案。 如果設定區段被鎖定在 applicationHost.config中,對應的功能會在站點連線中顯示為唯讀,因為站點連線無法將組態寫入 applicationHost.config(即使是在位置標籤中也是如此)。 這同時影響機器管理員和站點管理員。

圖 7:IIS Manager 中的組態階層

機器管理員、指定的應用程式管理員,以及應用程式父站的站點管理員,都可以連接到應用程式。 應用程式連線只能寫入該應用程式根目錄下的 web.config 檔案。 如果設定區塊在 applicationHost.config 或網站的 web.config 檔案中被鎖定,該功能在應用程式連線中將顯示為唯讀。

關於如何連接伺服器、站點或應用程式的資訊,請參閱 IIS 7.0 中管理連線的線上文件。

設定

即使你從不更改組態鎖定,也不使用功能委派,某個時候你還是會想知道 IIS Manager 是怎麼決定要寫哪裡設定的。 有兩條規則定義這種行為:

  • ApplicationHost.config vs. root Web.config:如果該功能在 IIS Manager 的 ASP.NET 區列出,伺服器層級的設定會寫入 .NET Framework v2.0 的根 web.config 檔案。 若此功能列於 IIS 管理員的 IIS 區域,伺服器層級設定將寫入 applicationHost.config。此規則的唯一例外是表單認證,該功能位於 IIS 區域的認證功能中。
  • 鎖定與解鎖配置:所有 ASP.NET 設定區塊及部分 IIS 配置區塊預設為解鎖狀態。 對於解鎖的區段,若站點的設定有所變更,IIS Manager 會寫入該站點的 web.config;若應用程式的設定有所變更,則會寫入應用程式的設定。 大多數 IIS 設定區塊預設是鎖定的。 對於鎖定區段,IIS Manager 即使修改站點與應用程式的設定,仍會寫入 applicationHost.config。

狀態列

狀態列顯示 IIS Manager 將撰寫設定的位置:

配置:'<config_file_object_path>' <config_file_name>, <位置路徑=「<路徑>」>

<config\_file\_object\_path> 是設定檔物件的路徑,例如:

  • 「localhost」:伺服器層級配置;applicationHost.config 用於 IIS 特徵,根 web.config 用於 ASP.NET 特徵。
  • 「localhost/Default Site 檔案」:預設網站實體資料夾中的 web.config 檔案
  • 「localhost/Default Web Site/careers/technical」:實體資料夾中的 web.config 檔案,對應至 Default Site 下方的 URL「/careers/technical」

<config\_file\_name> 是目標設定檔的名稱,例如:

  • “applicationHost.config 或根 Web.config”:applicationHost.config 用於 IIS 特徵,根 web.config 用於 ASP.NET 特徵
  • 「web.config」:網頁命名空間中的 web.config 檔案

<location\_path> 被設定物件的位置路徑(更多關於位置路徑的資訊,請參見 配置概述)。 這部分文字只有在功能設定區塊被鎖定在較高層級時才會出現。

截圖顯示已選取「切換到功能檢視」和動作面板。

範例:寫入 ApplicationHost.config 或根 Web.config

壓縮是 IIS 的功能,如果你依區域群組或篩選首頁功能列表,壓縮功能會顯示在 IIS 下。 如果你已經進入伺服器層級的壓縮頁面並停用靜態壓縮,IIS Manager 會將此設定寫入:%windir%\Windows\system32\inetsrv\applicationHost.config

<urlCompression doStaticCompression="false" />

.NET 編譯是 .NET Framework 的設定,如果你依區域群組或篩選首頁功能清單,它會出現在 ASP.NET 下。 如果你已經進入伺服器層級的 .NET 編譯頁面,並將預設語言設為 C#,IIS Manager 會在根 web.config 檔案的編譯區塊新增 defaultLanguage 屬性,也就是說: %windir%\Windows\\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config

<compilation defaultLanguage="C#">

這兩種情況的狀態列都會顯示:設定:'localhost' applicationHost.config 或 root web.config

範例:寫入鎖定設定與解鎖設定

IIS 的「defaultDocument」設定區塊預設是解鎖的。 如果您設定預設網站的預設文件,IIS Manager 會將此設定寫成 %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 Manager 將此設定寫入:%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 或根 web.config, <位置路徑=「預設網站」>

IIS 6.0 及之前版本的 IIS Manager 遠端支援是透過 MMC 進行的,且始終啟用。 在 IIS 7.0 及以上版本中,必須明確啟用 IIS Manager 遠端支援。 所有遠端管理皆透過 HTTPS 進行,並由稱為 Web Management Service(WMSVC)的 IIS 元件處理。 如果您想透過 IIS Manager 啟用 IIS 7.0 及以上的遠端管理,請閱讀 《如何啟用 IIS Manager 遠端管理》。

網頁管理服務(WMSVC)

網路管理服務(WMSVC)是一個獨立的網頁伺服器(可託管網頁核心(HWC)),託管於 NT 服務中。 WMSVC 安裝並啟動後,會透過 8172 埠監聽所有未分配的 IP 位址。 它預期只會接收 4 種請求,每種請求都有自己的處理器來處理:

  • 登入請求至 login.axd
  • 請求下載程式碼至 download.axd
  • 管理服務請求至 service.axd
  • 發送請求至 ping.axd

登入請求

IIS Manager 會透過線路向 WMSVC 發送登入請求以啟動連線。 認證方式是 NTLM 或 basic,視使用者在連線對話框中被要求提供憑證時所選擇的類型而定。

登入對話框的截圖,顯示 N T、L、M 和 Basic 部分。

圖 9:資格說明

程式碼下載請求

若登入成功,WMSVC 會回傳連線的 UI 模組清單。 例如,每個 IIS 管理器頁面如「自訂錯誤頁面」對應一個模組。 如果有 IIS Manager 沒有的模組,它會請求下載模組的二進位檔(例如,如果伺服器管理員在他的生產伺服器上安裝了新的 RSA Security 產品,但沒有在他用來連接伺服器的桌面電腦上安裝該產品,就會發生這種情況)。

管理服務請求

連線建立後,終端使用者會與 IIS Manager 互動,產生管理服務請求。 管理服務請求在 WMSVC 中的直接模組服務,以讀寫伺服器上的配置、執行時狀態和提供者。

Ping 請求

ping 請求是從 WMSVC 服務內部向其所託管的網頁伺服器(HWC)發出。 Ping 請求是一種簡單的機制,確保可托管網站核心持續回應。

服務配置
WMSVC 在登錄檔中儲存了非常少量可編輯的設定。 每次服務啟動時,網頁設定檔都會重新生成於 %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\。 網頁設定檔無法被編輯,即使是管理員也無法編輯。

顯示網頁設定檔的截圖。

圖 10:在登錄檔中變更設定

安全性

IIS Manager 與 Web Management Service(WMSVC)遠端管理已經過一系列審查,以確保功能簡單且安全。 以下是部分採取的安全措施:

  • 要求所有連線都使用 SSL(HTTPS),以保護遠端 IIS Manager 用戶端與 WMSVC 之間的資料傳遞安全
  • 以地方服務形式運行 ,權限集減少

鎖定的可託管網頁核心(HWC)配置,包含最低限度的必要模組與精心設計的請求過濾規則。