IIS 模組概觀
由 IIS 小組、 Mike Volodarsky
相容性
版本 | 備註 |
---|---|
IIS 7.0 和更新版本 | 本文所述的功能是在 IIS 7.0 中介紹的。 |
IIS 6.0 和更早版本 | 在 IIS 7.0 之前,本文所述的功能不受支援。 |
簡介
IIS 7 和更新版本網頁伺服器功能集已元件化為30個以上的獨立模組。
模組是 Win32 DLL(原生模組)或元件內含的 .NET 2.0 類型(Managed 模組)。 類似於一組建置組塊,模組會新增至伺服器,以提供您應用程式所需的功能。 同樣地,您可以移除所有 IIS 模組,或取代為使用 IIS C++ API 開發的自定義模組,或熟悉的 ASP.NET 2.0 API。
本文說明常見的 IIS 模組管理工作,並詳細說明每個模組,包括其組態設定,以及模組移除對網頁伺服器的潛在影響。 使用圖形化 IIS 管理員和 AppCmd 命令行工具來提供管理範例。
必要條件
若要遵循本檔中的步驟,最好是執行 IIS 的完整安裝。
注意
並非所有版本的 Windows 都支援所有可用的 IIS 功能。 若要查看作業系統上支援哪些 IIS 功能,您必須參閱隨附於 Windows 版本的檔案。
在 Windows Vista、Windows 7、Windows 8、Windows 10 或 Windows 11 上執行 IIS 的完整安裝
- 按一下 [開始],然後按一下 [控制台]。
- 在 控制台 中,按兩下 [程式]。
- 按一下 [程式和功能] 下的 [開啟或關閉 Windows 功能]。
- 在 [Windows 功能] 對話框中,展開 [網際網路資訊服務],然後選取所有功能。
您可能需要展開某些類別,以選取該類別中的所有功能。 - 按一下 [確定]。
在 Windows Server 2008/R2、Windows Server 2012/R2 或 Windows Server 2016 上執行 IIS 的完整安裝
- 開啟 [伺服器管理員>][角色],然後選取 [Web 伺服器] [IIS]。
- 檢查網頁伺服器下的所有功能。
模組用戶入門
若要將模組新增至伺服器,您必須執行兩個步驟:
- 在伺服器上安裝模組(僅限原生模組)。
- 在應用程式中啟用模組。
第一個步驟會向伺服器全域註冊模組,使其可在每一個伺服器背景工作進程內使用。 只有原生模組才需要因為原生程式碼的受信任本質而使用,而且只能供系統管理員使用。
注意
原生模組可以不受限制地存取伺服器背景工作進程可用的任何資源,就像舊版中的 ISAPI 篩選或擴充功能一樣。 由於這種不受限制的存取,您應該只安裝來自受信任來源的原生模組。
第二個步驟可讓模組在特定應用程式中執行,並有效地允許應用程式系統管理員控制為應用程式啟用的伺服器功能。 此步驟可讓每個應用程式同時啟用已安裝的原生模組和受控模組。
安裝原生模組
若要安裝原生模組,必須使用下列其中一個選項向伺服器註冊:
- 手動編輯 IIS 組態存放區。 在 IIS 7.5 和更新版本中,您可以使用 IIS 管理員中的組態編輯器。
- 使用 IIS 管理員
- 使用AppCmd.exe命令行工具
這三個選項都會導致模組專案新增至 <globalModules> IIS 組態區段,而此區段只能在伺服器層級設定。 若要檢查本節的內容,請開啟 位於 %windir%\system32\inetsrv\config\applicationhost.config
的根組態檔,然後搜尋字串 「<globalModules>」。
安裝完整的 IIS 之後,本節包含 IIS 隨附的每個原生模組專案,並指定模組 DLL 的名稱和路徑:
<globalModules>
<add name="DefaultDocumentModule" image="%windir%\system32\inetsrv\defdoc.dll" />
<add name="DirectoryListingModule" image="%windir%\system32\inetsrv\dirlist.dll" />
<add name="StaticFileModule" image="%windir%\system32\inetsrv\static.dll" />
...
</globalModules>
本檔稍後會詳細說明所有這些模組。
卸載原生模組
如果該模組不再在伺服器上使用,或您想要將它取代為另一個模組,您可以卸載原生模組。 使用下列其中一個選項,從 <globalModules> 組態清單中移除對應的模組專案,以及組態清單中的相關聯專案 <modules>
:
- 手動編輯 IIS 組態存放區。 在 IIS 7.5 和更新版本中,您可以使用組態編輯器。
- 使用 IIS 管理員
- 使用AppCmd.exe命令行工具
注意
<因為 globalModules> 組態區段只能在伺服器層級設定,您必須是系統管理員才能卸載模組。
啟用應用程式的模組
模組必須先啟用,才能為特定應用程式提供服務。 若要啟用原生模組,它必須先安裝在伺服器上(請參閱上一節 ,若要安裝原生模組)。
受控模組不需要安裝,而且可以直接為每個應用程式啟用。 這可讓應用程式在應用程式的web.config檔案中註冊這些模組,並在 /BIN 或 /App_Code 目錄中提供實作,以直接在應用程式中納入其Managed模組。
若要啟用模組,請執行下列其中一項:
- 手動編輯 IIS 組態存放區,以全域方式啟用伺服器上所有應用程式的模組,或位於您要啟用此模組之每個應用程式內的特定 web.config 檔案中。 在 IIS 7.5 或更新版本中,您可以使用組態編輯器。
- 使用 IIS 管理員
- 使用 AppCmd.exe 命令行工具
這三個選項都會將模組專案新增至 <modules>
IIS 組態區段,這可以在伺服器層級和應用層級設定。 開啟 位於 %windir%\system32\inetsrv\config\applicationhost.config
的根組態檔,並搜尋字串 「<modules>」,以檢查本節的內容。
不同於原生模組,受控模組不需要將專案新增至 <globalModules> 組態區段。
安裝完整的 IIS 之後,組態區段會包含每個隨附於 IIS 的模組專案(同時受控和原生)。 專案表示伺服器上所有應用程式預設都會啟用所有這些模組。 本節中的每個項目都會指定先前安裝在伺服器上的原生模組名稱,或 Managed 模組的名稱和 .NET 類型:
<modules>
<add name="DefaultDocumentModule" />
<add name="DirectoryListingModule" />
<add name="StaticFileModule"/>
...
</modules>
停用應用程式中的模組
如果模組不再在應用程式中使用,或您想要將模組取代為另一個模組,請停用模組。 若要停用模組,請從 <modules>
您不希望此模組執行的特定應用程式的組態集合中移除對應的模組專案。 如果模組是在伺服器層級啟用,請將其移除,以在伺服器上的所有應用程式中預設停用它。 使用下列其中一個選項來移除伺服器層級的模組:
- 在應用程式中手動編輯 <system.webServer>/<modules> 組態區段。
- 使用 IIS 管理員。
- 使用AppCmd.exe命令行工具。
從應用程式移除模組之後,該模組就不會在該應用程式中使用中。 不過,如果模組是原生模組,它仍會載入伺服器背景工作進程,而且可能供未移除它的其他應用程式使用。
注意
如果安裝 ASP.NET,則預設會解除鎖定組態區段。 此預設解除鎖定可讓應用程式停用全域啟用的原生和受控模組,以及新增受控模組。 此組態區段可以在伺服器層級鎖定,以防止完全修改,或防止 管理員 istrator 視需要移除特定模組專案。
前置條件
模組專案上有另一個稱為前置條件的屬性。 IIS 核心引擎會使用前置條件來判斷何時啟用特定模組。 例如,效能原因可能會判斷您只想要針對也移至受控處理程式的要求執行 Managed 模組。 下列範例中的前置條件 (precondition=“managedHandler”) 只會針對 Managed 處理程式所處理的要求啟用窗體驗證模組,例如對 .aspx 或 .asmx 檔案的要求:
<add name="FormsAuthentication"type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
如果您移除屬性前置條件=“managedHandler”,Forms Authentication 也適用於受管理處理程式未提供的內容,例如.html、.jpg、.doc,但也適用於傳統 ASP (.asp) 或 PHP (.php) 延伸模組。 如需讓 ASP.NET 模組針對所有內容執行範例,請參閱<如何利用 IIS 整合管線>。
您也可以使用快捷方式來啟用所有 Managed (ASP.NET) 模組,針對應用程式中的所有要求執行,而不論 「managedHandler」 前置條件為何。 若要讓所有 Managed 模組都能夠針對所有要求執行,而不需設定每個模組專案來移除 「managedHandler」 前置條件,請使用 區段中的 <modules>
runAllManagedModulesForAllRequests 屬性:
<modules runAllManagedModulesForAllRequests="true"/>
當您使用這個屬性時,「managedHandler」 前置條件沒有任何作用,而且所有 Managed 模組都會針對所有要求執行。
使用 IIS 管理員查詢、新增和移除模組
IIS 管理員提供簡單的方法來查詢、新增或移除模組。
- 若要開啟 IIS 管理員,請按單擊 [開始],在 [搜尋] 方塊中輸入 inetmgr,然後按 ENTER。
- 按兩下 IIS 伺服器的電腦名稱。
- 單擊 IIS 類別中的 [模組] 圖示。
圖 1:IIS 管理員
管理特定應用程式的已啟用模組
- 連線 至該應用程式,使用左側的樹視圖。
- 流覽至 [模組] 功能窗格。
- 按兩下[ 新增受控模組] 以將受控模組 新增至您的應用程式。 新增原生模組 只允許您新增已在伺服器層級註冊的模組。
從您的應用程式移除模組
- 按兩下清單中的模組。 [移除] 工作會顯示在左窗格中。
- 按一下 [移除]。
圖 2:IIS 管理員中的模組清單
從命令行管理模組
若要從命令行快速管理模組,或編寫模組管理工作的腳本,請使用 命令行工具AppCmd.exe 。
使用 AppCmd.exe 安裝模組
在命令提示字元中,輸入下列命令,以計算機上的模組值取代斜體中的值。
Appcmd.exe install module /name:MODULE_NAME /image:PATH_TO_DLL
注意
安裝原生模組會自動在伺服器層級啟用它。
例如,下列命令會安裝預設檔案模組。
%windir%\system32\inetsrv\appcmd.exe install module /name:DefaultDocumentModule /image:%windir%\system32\inetsrv\defdoc.dll
如果您在已載入模組的電腦上執行 命令,您會收到類似下列的錯誤訊息:
ERROR (message:無法新增重複的收集元素 “DefaultDocumentModule”。)
若要使用 AppCmd.exe 卸載模組
在命令提示字元中,輸入下列命令,以計算機上的模組值取代斜體中的值。
Appcmd.exe uninstall module MODULE_NAME
注意
卸載模組會自動在伺服器層級停用它。
例如,下列命令會卸載預設文件模組。 此命令僅提供作為範例。 您應該只在測試伺服器上執行它。
%windir%\system32\inetsrv\appcmd.exe uninstall module DefaultDocumentModule
列出針對應用程式或全域啟用的模組
在命令提示字元中,輸入下列命令,以計算機上的模組值取代斜體文字中的值。
Appcmd.exe list modules [/app.name:APPLICATION_NAME]
例如,下列命令會列出為默認網站啟用的模組。
%windir%\system32\inetsrv\appcmd.exe list modules /app.name:"Default Web Site"
此命令會列出全域安裝的模組。
%windir%\system32\inetsrv\appcmd.exe list modules
若要針對特定應用程式或全域啟用模組
在命令提示字元中,輸入下列命令,以計算機上的模組值取代斜體文字中的值。
Appcmd.exe add module /name:MODULE_NAME /type:MGD_TYPE
例如,下列命令會將窗體驗證模組新增至默認網站。
%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule /app.name:"Default Web Site"
此命令會全域新增窗體驗證模組。
%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule
若要停用特定應用程式或全域的模組
在命令提示字元中,輸入下列命令,以計算機上的模組值取代斜體文字中的值。
Appcmd.exe delete module MODULE_NAME [/app.name:APPLICATION_NAME]
例如,下列命令會從默認網站移除窗體驗證模組。
%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication /app.name:"Default Web Site"
此命令會全域移除窗體驗證模組。
%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication
若要取得每個應用程式Cmd.exe命令語法的更多說明
若要顯示 Module 物件上支援的命令,請輸入下列命令:
Appcmd.exe module /?
若要顯示每個命令的使用方式,請輸入下列命令:
Appcmd.exe install module /?Appcmd add module /?
模組參考
IIS 伺服器已準備好進行自定義。 請仔細閱讀下列清單,以避免副作用、功能遺失或移除安全性功能。
公用程式模組
這些模組不會提供要求服務,而是會協助伺服器引擎進行其內部作業。
模組名稱: | UriCacheModule |
---|---|
描述: | 實作 URL 特定伺服器狀態的一般快取,例如組態。 使用本課程模組時,伺服器只會讀取特定 URL 第一個要求的組態,並在後續要求上重複使用,直到變更為止。 |
組態區段: | 無。 |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 效能遺失,因為每個要求的URL擷取狀態。 |
模組名稱: | FileCacheModule |
描述: | 快取伺服器引擎和模組所開啟之檔案的檔案句柄。 |
組態區段: | 無。 |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 效能遺失。 如果未快取檔句柄,則必須針對每個要求開啟檔案。 |
模組名稱: | TokenCacheModule |
描述: | 快取密碼型驗證配置的 Windows 安全性令牌(匿名驗證、基本身份驗證、IIS 用戶端憑證驗證)。 |
組態區段: | 無。 |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 效能遺失。 如果未快取令牌,則必須針對每個要求登入使用者。 可能會對效能造成重大影響。 例如,如果受密碼保護的 HTML 頁面參考 50 個也受到保護的影像,則 51 個登入使用者呼叫本機帳戶資料庫,或更糟的是,對非現成域控制器的呼叫會導致效能問題。 |
模組名稱: | ManagedEngine |
描述: | Managed Engine 在所有其他模組中都有特殊位置。 它負責提供 IIS 整合,以與 ASP.NET 運行時間連結。 |
組態區段: | |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | ASP.NET 整合將會停用。 當應用程式集區 <modules> 以整合模式執行時,不會呼叫 區段中所宣告或 ASP.NET 處理程式中 <handlers> 宣告的Managed模組。 |
模組名稱: | HttpCacheModule |
描述: | HttpCacheModule 會實作 IIS 輸出快取,以及快取http.sys項目邏輯。 透過組態設定快取大小、輸出快取配置檔等。 |
組態區段: | System.webServer/caching |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 內容將不再以核心模式快取。 系統會忽略快取配置檔。 拿掉 HttpCacheModule 可能會對效能和資源使用量產生負面影響。 |
模組名稱: | DynamicCompressionModule |
描述: | 實作動態內容的記憶體內部壓縮。 |
組態區段: | system.webServer/httpCompression 和 system.webServer/urlCompression。 |
相依性: | 不會有任何相依性,因為預設會關閉動態壓縮。 |
模組名稱: | StaticCompressionModule |
描述: | 實作靜態內容的壓縮 (在記憶體中,以及在文件系統中持續執行)。 |
組態區段: | system.webServer/httpCompression 和 system.webServer/urlCompression |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 潛在的頻寬飽和度,因為未壓縮的內容會傳送回用戶端。 |
模組名稱: | DefaultDocumentModule |
描述: | 實作預設檔功能。 尾端 / 隨附的要求將會重新路由至預設檔案清單中的檔案。 |
組態區段: | system.webServer/defaultDocument |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 對 /的要求,例如 http://localhost/ ,傳回 404 錯誤。 如果已啟用 directoryBrowsing,就會產生目錄清單。 |
模組名稱: | DirectoryListingModule |
描述: | 實作目錄流覽功能。 |
組態區段: | system.webServer/directoryBrowse |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 如果預設檔模組和 directoryListing Module 都未處理 /的要求,則會傳回空的回應。 |
模組名稱: | ProtocolSupportModule |
描述: | 實作自定義和重新導向響應標頭。 實作追蹤和Options HTTP動詞命令。 實作 支援,允許或關閉透過組態啟用支援。 |
組態區段: | system.webServer/httpProtocol |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | TRACE 或 OPTIONS 要求會傳回「405 方法不允許」錯誤訊息。 |
模組名稱: | HttpRedirectionModule |
描述: | 實作重新導向功能。 |
組態區段: | system.webServer/httpRedirect |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 如果資源受到重新導向保護,則可能發生安全性問題。 拿掉重新導向模組時,內容會再次變成可存取。 |
模組名稱: | ServerSideIncludeModule |
描述: | 實作伺服器端包含。 此模組會對應為處理程式,只會針對以 .stm、.shtm 和 .shtml 結尾的要求執行。 |
組態區段: | system.webServer/serverSideInclude |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 靜態檔案模組會處理.stm、.shtm 和 .shtml 檔案。 如果本課程模組有這些延伸模組的mimeMap,檔案就會變成文字。 不過請注意,這不是預設值。 |
模組名稱: | StaticFileModule |
描述: | 傳送擴展名為 .html、.jpg,以及其他許多檔案的靜態檔案。 staticContent/mimeMap 組態集合會決定擴展名清單。 |
組態區段: | system.webServer/staticContent |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 靜態檔案不再提供。 要求檔案會傳回 404 找不到錯誤,指出沒有相符處理程式。 |
模組名稱: | AnonymousAuthenticationModule |
描述: | 實作匿名驗證。 如果 URL 設定為允許匿名驗證,此模組會產生 HttpUser 物件。 |
組態區段: | system.webServer/security/authentication/anonymousAuthentication |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 至少必須設定一個驗證模組。 IIS 伺服器核心會在驗證階段之後檢查是否已填入 HttpUser 物件。 HttpUser 對像是 IIS 數據結構。 如果沒有填入 HttpUser 物件的驗證,就會產生 401.2 錯誤。 |
模組名稱: | CertificateMappingAuthenticationModule |
描述: | 地圖 SSL 用戶端憑證至 Active Directory 帳戶(Active Directory 憑證對應)。 |
組態區段: | system.webServer/security/authentication/clientCertificateMappingAuthentication |
相依性: | 必須設定 SSL,此模組才能運作。 IIS 計算機也必須是 Active Directory 網域的成員。 |
拿掉此課程模組時的潛在問題 | 如果使用 Active Directory 憑證對應來保護目錄,通常允許要求;在此情況下,會移除模組。 |
模組名稱: | BasicAuthenticationModule |
描述: | 會實作 RFC 2617 中所述的 HTTP 基本身份驗證。 |
組態區段: | system.webServer/security/authentication/basicAuthentication |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 至少必須設定一個驗證模組。 IIS 伺服器核心會在驗證階段之後檢查是否已填入 HttpUser 物件。 HttpUser 對像是 IIS 數據結構。 如果沒有填入 HttpUser 物件的驗證,就會產生 401.2 錯誤。 |
模組名稱: | WindowsAuthenticationModule |
描述: | 實作 Windows 驗證 (NTLM 或 Negotiate (Kerberos)]。 |
組態區段: | system.webServer/security/authentication/windowsAuthentication |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 至少必須設定一個驗證模組。 IIS 伺服器核心會在驗證階段之後檢查是否已填入 HttpUser 物件。 HttpUser 對像是 IIS 數據結構。 如果沒有填入 HttpUser 物件的驗證,就會產生 401.2 錯誤。 |
模組名稱: | DigestAuthenticationModule |
描述: | 實作 RFC 2617 中所述的摘要式驗證。 |
組態區段: | system.webServer/security/authentication/digestAuthentication |
相依性: | IIS 伺服器必須是 Active Directory 網域的一部分。 |
拿掉此課程模組時的潛在問題 | 至少必須設定一個驗證模組。 IIS 伺服器核心會在驗證階段之後檢查是否已填入 HttpUser 物件。 HttpUser 對像是 IIS 數據結構。 如果沒有填入 HttpUser 物件的驗證,就會產生 401.2 錯誤。 |
模組名稱: | IISCertificateMappingAuthenticationModule |
描述: | 實作 IIS 憑證對應。 地圖 SSL 用戶端憑證至 Windows 帳戶。 與 Active Directory 憑證對應相反,使用者認證和對應規則會儲存在 IIS 組態存放區中 |
組態區段: | system.webServer/iisClientCertificateMappingAuthentication |
相依性: | 必須設定 SSL 以接收客戶端憑證,才能讓此模組運作。 |
拿掉此課程模組時的潛在問題 | 至少必須設定一個驗證模組。 IIS 伺服器核心會在驗證階段之後檢查是否已填入 HttpUser 物件。 HttpUser 對像是 IIS 數據結構。 如果沒有填入 HttpUser 物件的驗證,就會產生 401.2 錯誤。 |
模組名稱: | UrlAuthorizationModule |
描述: | 根據組態規則實作授權。 |
組態區段: | system.webServer/security/authorization |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 不再評估受保護內容的授權規則。 應該受到保護的內容可能會提供。 |
模組名稱: | IsapiModule |
描述: | 實作 ISAPI 擴充功能。 |
組態區段: | system.webServer/isapiCgiRestriction |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 在區段中對應的 <handlers> ISAPI 延伸模組(modules=“IsapiModule”) 或明確呼叫 ISAPI 延伸模組將無法再運作。 |
模組名稱: | IsapiFilterModule |
描述: | 實作 ISAPI 篩選功能。 |
組態區段: | system.webServer/isapiFilters |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | ISAPI 篩選器通常會實作依賴的功能應用程式。 範例包括 ASP.NET 或 SharePoint。 例如,ASP.NET 需要aspnet_filter.dll來保護敏感性內容,以及重寫URL。 拿掉此模組可防止 IIS 載入 ISAPI 篩選器。 應用程式可能會停止運作或敏感性內容可能會公開。 |
模組名稱: | IpRestrictionModule |
描述: | 根據用戶端要求的 IPv4 位址實作授權配置。 |
組態區段: | system.webServer/security/ipSecurity |
相依性: | 必須安裝 IPv4 堆疊。 |
拿掉此課程模組時的潛在問題 | 允許ipSecurity清單上具有IP位址的用戶端。 |
模組名稱: | RequestFilteringModule |
描述: | 實作一組功能強大的安全性規則,以在非常早期拒絕可疑要求。 本課程模組是 ISAPI 篩選UrlScan.DLL隨附於 IIS 5.0 和 6.0 的後續專案。 |
組態區段: | system.webServer/security/requestFiltering |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 如果移除此模組,則 requestFiltering 區段中指定的規則不再適用。 潛在的安全性問題可能會導致。 |
模組名稱: | CustomLoggingModule |
描述: | 在 IIS 之上實作 ILogPlugin 介面。 ILogPlugin 是先前的 COM 實作,可讓客戶擴充 IIS 記錄。 我們不建議使用此介面擴充 IIS。 相反地,客戶應該撰寫模組並訂閱RQ_LOG_REQUEST通知。 |
組態區段: | system.webServer/httpLogging 和 system.applicationhost/sites/site/logFile/customLogPluginClsid |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 將不再呼叫自定義記錄外掛程式。 例如,ODBC 記錄會實作為 ILogPlugin。 |
模組名稱: | CustomErrorModule |
描述: | 實作自定義錯誤和 IIS 詳細錯誤功能。 |
組態區段: | system.webServer/httpErrors |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 當核心伺服器內發生錯誤時,IIS 會傳回最少資訊的空白頁面。 遠端使用者可能會看到來自伺服器元件的詳細錯誤資訊,這可能會導致資訊遺失。 |
模組名稱: | HttpLoggingModule |
描述: | 藉由告訴HTTP.SYS要記錄的內容,實作標準 IIS 記錄。 |
組態區段: | system.applicationHost/log 和 system.webServer/httpLogging |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 標準 IIS 記錄將無法再運作。 |
模組名稱: | FailedRequestsTracingModule |
描述: | 實作失敗要求的追蹤。 透過組態定義和設定失敗要求的規則。 |
組態區段: | system.webServer/tracing and system.webServer/httpTracing |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 追蹤 HTTP 要求將無法再運作。 |
模組名稱: | RequestMonitorModule |
描述: | 實作 IIS 執行時間狀態和控制介面 (RSCA)。 RSCA 可讓使用者查詢運行時間資訊,例如目前正在執行的要求、網站的啟動/停止狀態,或目前正在執行的應用程式域。 |
組態區段: | 無。 |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 工具將無法列舉目前正在執行的要求。 |
模組名稱: | CgiModule |
描述: | 在 IIS 之上實作 CGI。 |
組態區段: | system.webServer/cgi 和 system.webServer/isapiCgiRestriction |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | CGI 程式將會停止運作。 |
模組名稱: | TracingModule |
描述: | 實作 ETW 追蹤。 |
組態區段: | system.webServer/httpTracing |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 如果移除此模組,ETW 追蹤將無法運作。 |
模組名稱: | ConfigurationValidationModule |
描述: | 驗證已移轉 ASP.NET 應用程式組態,以在整合模式中運作。 |
組態區段: | system.webServer/Validation |
相依性: | 無。 |
拿掉此課程模組時的潛在問題 | 為模組和處理程式指定舊版 ASP.NET 設定的應用程式不會產生移轉錯誤;尚未移轉的新應用程式將無法正確運作。 |
受控模組:
模組名稱: | OutputCache |
---|---|
描述: | 實作 ASP.NET 輸出快取功能。 |
組態區段: | system.web/caching/outputCache |
相依性: | 必須安裝ManagedEngine模組。 |
拿掉此課程模組時的潛在問題 | ASP.NET 無法將快取回應輸出至設定為輸出快取的頁面。 |
模組名稱: | 工作階段 |
描述: | 如需詳細資訊,請參閱 ASP.NET 2.0 檔 |
組態區段: | system.web/sessionState |
相依性: | 必須安裝ManagedEngine模組 |
拿掉此課程模組時的潛在問題 | 受控會話狀態無法使用。 |
模組名稱: | WindowsAuthentication |
描述: | 如需詳細資訊,請參閱 ASP.NET 2.0 檔。 |
組態區段: | system.web/authentication |
相依性: | 必須安裝ManagedEngine模組 |
拿掉此課程模組時的潛在問題 | 不會引發 WindowsAuthentication.OnAuthenticate 事件,這可能會導致某些自定義 ASP.NET 驗證程式代碼無法執行。 此外,當 UNC 共用時,已驗證的使用者將不會取代為 UNC 使用者(舊版 ASP.NET 行為)。 此模組不會影響整合模式中 ASP.NET 應用程式的NTLM/Kerberos驗證,而且不需要在WindowsAuthentication.OnAuthenticate 事件和舊版 UNC 行為之外。 |
模組名稱: | FormsAuthentication |
描述: | 如需詳細資訊,請參閱 ASP.NET 2.0 檔。 |
組態區段: | system.web/authentication |
相依性: | 必須安裝ManagedEngine模組 |
拿掉此課程模組時的潛在問題 | ASP.NET 窗體型驗證功能將無法使用,導致窗體驗證票證無法存取受保護資源的用戶端。 |
模組名稱: | DefaultAuthentication |
描述: | 如需詳細資訊,請參閱 ASP.NET 2.0 檔。 |
組態區段: | system.web/authentication |
相依性: | 必須安裝ManagedEngine模組 |
拿掉此課程模組時的潛在問題 | 如果 ASP.NET 驗證模式為 Forms,某些 ASP.NET 功能可能無法用於匿名要求。 此外,不會引發 DefaultAuthentication.OnAuthenticate 事件。 |
模組名稱: | RoleManager |
描述: | 如需詳細資訊,請參閱 ASP.NET 2.0 檔。 |
組態區段: | 無。 |
相依性: | 必須安裝ManagedEngine模組。 |
拿掉此課程模組時的潛在問題 | 角色管理員功能無法使用。 |
模組名稱: | UrlAuthorization |
描述: | 如需詳細資訊,請參閱 ASP.NET 2.0 檔。 原生 UrlAuthorization 模組會在機器碼中實作 URL 授權功能。 這會為受控 URL 授權模組提供可調整且快速的原生替代方案。 |
組態區段: | system.web/authorization。 |
相依性: | 必須安裝ManagedEngine模組。 |
拿掉此課程模組時的潛在問題 | 系統會忽略 ASP.NET 授權規則,可能會導致資訊洩漏和其他安全性洩露。 |
模組名稱: | AnonymousIdentification |
描述: | 如需詳細資訊,請參閱 ASP.NET 2.0 檔。 |
組態區段: | |
相依性: | 必須安裝ManagedEngine模組。 |
拿掉此課程模組時的潛在問題 | ASP.NET 設定檔所使用的匿名識別功能將無法運作。 |
模組名稱: | 設定檔 |
描述: | 如需詳細資訊,請參閱 ASP.NET 2.0 檔。 |
組態區段: | |
相依性: | 必須安裝ManagedEngine模組。 |
拿掉此課程模組時的潛在問題 | ASP.NET 設定檔功能將無法運作。 |
模組名稱: | UrlMappingsModule |
描述: | 如需詳細資訊,請參閱 ASP.NET 2.0 檔。 |
組態區段: | |
相依性: | 必須安裝ManagedEngine模組。 |
拿掉此課程模組時的潛在問題 | ASP.NET URL 對應將無法運作。 |