在網際網路資訊服務版本 6.0 中註冊 SF_NOTIFY_READ_RAW_DATA 事件的 ISAPI 篩選器的相關資訊

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:311852
簡介
Microsoft Internet Information Services (IIS) 6.0 版引入了新的可設定處理序架構模型。選取的組態可以有顯著的影響,ISAPI 篩選器的行為的方式。本文將告訴您必須考量的各種問題。
其他相關資訊

SF_NOTIFY_READ_RAW_DATA事件和 IIS 6.0

Http.sys 只支援單一使用者模式處理程序的路由未經處理的要求資料。這種行為可防止 IIS 6.0 工作者處理序隔離模式中支援SF_NOTIFY_READ_RAW_DATA事件。因為SF_NOTIFY_READ_RAW_DATA事件的註冊全域篩選,請載入多個背景工作處理序,就會發生這個問題。不過,Http.sys 無法將未經處理的資料傳送到所有的多個工作者處理序。因此,安全通訊端層 (SSL) 處理,就會保持只未經處理的資料作業。SSL 會發生在單一使用者模式處理程序稱為 lsass.exe。

在 IIS 5.0 隔離模式中, SF_NOTIFY_READ_RAW_DATA事件的註冊全域篩選會載入所有名為 Inetinfo.exe 的單一處理序中。SSL 處理也會發生在相同的程序。因此,Http.sys 可以將所有的未經處理的要求資料傳送至該處理序。

在 IIS 5.1 和較早版本的 ISAPI 篩選器行為

全域的篩選器是完整的 IIS 服務的已安裝 ISAPI 篩選器。全域的篩選器會辨識所有網站的要求和回應。站台篩選器是 ISAPI 篩選器安裝在網站層級。站台篩選器只能辨識要求和回應站台的站台篩選器的安裝位置。必須安裝 ISAPI 篩選常式可註冊SF_NOTIFY_READ_RAW_DATA事件,做為全域的篩選條件。不過, SF_NOTIFY_SEND_RAW_DATA事件登錄 ISAPI 篩選器有沒有這類限制。IIS 6.0 中之前, 所有的 ISAPI 篩選器會在 Inetinfo.exe 程序中執行。Inetinfo.exe 程序保證為以 LocalSystem 帳戶執行,而是單一執行個體。

IIS 6 可設定處理序架構模型

開始在 IIS 6.0 中,IIS 支援兩種隔離模式:
  • 預設的背景工作處理序隔離模式
  • IIS 5.0 隔離模式

在 IIS 5.0 隔離模式中執行的 IIS 6.0

IIS 6.0 設定為下列的例外狀況的 IIS 5.0 隔離模式中執行時,IIS 6.0 會表現像舊版一樣:
  • 站台篩選器不會在 IIS 啟動載入。站台篩選器會載入第一個要求其相關聯的網站。
  • 任何 ISAPI 篩選器載入失敗導致 IIS 不啟動。舊版 IIS 會繼續執行。

在背景工作處理序隔離模式中執行的 IIS 6.0

當 IIS 6.0 工作者處理序隔離模式中執行時,ISAPI 篩選器會執行背景工作處理序中。這可讓SF_NOTIFY_READ_RAW_DATA ISAPI 事件所註冊的多個篩選器。這會建立一個以上的處理序同時存取讀取未經處理資料的風險。此外,Http.sys 可以只未經處理的要求資料傳送到單一的處理程序。因此,IIS 6.0 不支援SF_NOTIFY_READ_RAW_DATA ISAPI 篩選器通知,IIS 會執行背景工作處理序隔離模式中時。在 IIS 5.0 隔離模式中,Inetinfo.exe 會是唯一的程序。因此,Inetinfo.exe 可以存取讀取未經處理的資料,而不必擔心其他處理程序,同時存取讀取未經處理的資料。

在 IIS 6.0 中,我們建議您取代使用 ISAPI 擴充程式的SF_NOTIFY_READ_RAW_DATA事件的篩選器。ISAPI 擴充程式應該使用HSE_REQ_EXEC_URL函式。ISAPI 擴充程式應該設有萬用字元應用程式對應。這個方法可讓整個要求,包括下列操作:
  • 實體主體
  • 模擬語彙基元
此外,這個方法也會在效能低落,而非同步方式執行。

在 IIS 6.0 中的 SSL

在 IIS 6.0 中,SSL 會處理在單一的處理程序。這是因為 Http.sys 只能提供給一位使用者模式處理序的未經處理的加密的要求資料。在 IIS 5.0 隔離模式中,這個程序會是 Inetinfo.exe。在 IIS 6.0 工作者處理序隔離模式,此程序會是 lsass.exe。

注意並非所有的未經處理的資料篩選器是相同的。只有原始資料篩選條件會造成問題是SF_NOTIFY_READ_RAW_DATA的 ISAPI 篩選器。IIS 5.0 隔離模式只支援SF_NOTIFY_READ_RAW_DATA ISAPI 篩選器。SF_NOTIFY_SEND_RAW_DATA ISAPI 篩選器不會造成問題。所有模式中支援SF_NOTIFY_SEND_RAW_DATA ISAPI 篩選器。
参考
如需其他有關 ISAPI 篩選器的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
327611 可能不會載入舊版 IIS 的 ISAPI 篩選器
如需 IIS 6.0 的 Http.sys 元件的相關資訊,請參閱 IIS 「 效能功能 」 伺服器的系統管理指南 》 的 「 快速入門 」 一節中的主題。

如需有關 IIS 6.0 的結構模型的詳細資訊,請參閱伺服器系統管理指南 》 的 < 網際網路資訊服務架構 > 主題。

如需有關 ISAPI 擴充程式的詳細資訊,請造訪下列 Microsoft 開發人員網路 (MSDN) 網站:

警告:本文為自動翻譯

內容

文章識別碼:311852 - 最後檢閱時間:09/05/2015 12:15:00 - 修訂: 2.0

Microsoft Internet Information Services 6.0

  • kbtshoot kbinfo kbmt KB311852 KbMtzh
意見反應