IIS 6.0 MaxFieldLength 參數未正確設定

[本主題的目的是要說明 Exchange Server Analyzer 工具所引出的特定問題。您只應將它套用到已執行過 Exchange Server Analyzer 工具且有遇到該特定問題的系統。Exchange Server Analyzer 工具可免費下載,它會從拓撲中的每台伺服器遠端收集組態資料,並自動分析該資料。產生的報告會詳述重要的組態問題、潛在問題及非預設的產品設定。遵循這些建議,您便能達到較佳的效能、延展性、可靠性及執行時間。如需此工具的相關資訊或是要下載最新版本,請參閱 Microsoft Exchange Analyzer (https://go.microsoft.com/fwlink/?linkid=34707)。]  

上次修改主題的時間: 2009-09-23

Microsoft® Exchange Server Analyzer 工具會讀取下列登錄項目,以判定是否已在下列登錄中將 HTTP 要求的欄位長度上限硬式編碼:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters\MaxFieldLength

Exchange Server Analyzer 也會檢查下列登錄項目,以判定在目的電腦上執行的 Microsoft Windows® 作業系統版本。

HKLM\Software\Microsoft\Windows NT\CurrentVersion\CurrentVersion

CurrentVersion 值為 4.0 表示電腦正在執行 Microsoft Windows NT® Server 4.0。值 5.0 表示電腦正在執行 Microsoft Windows 2000 Server 作業系統,而值 5.2 則表示電腦正在執行 Microsoft Windows Server™ 2003 作業系統。

最後,Exchange Server Analyzer 會檢查 root\MicrosoftExchangeV2 命名空間中的 Exchange_Server Windows Management Instrumentation (WMI) 類別,以判定 IsFrontEndServer 的機碼值。False 值表示 Exchange Server 電腦不是前端伺服器。True 值表示 Exchange Server 電腦是前端伺服器。

如果 Exchange Server Analyzer 發現在符合下列條件的 Exchange 後端伺服器上,MaxFieldLength 的值不是設為 32768,就會顯示警告:

  • Exchange 後端伺服器正在執行 Windows Server 2003。
  • Exchange 後端伺服器未設定為前端伺服器。
  • Exchange 後端伺服器具有超過 500 個信箱。

MaxFieldLength IIS 登錄參數 (依預設不存在) 可指定任何個別 HTTP 用戶端要求的大小上限。這個值通常會與結伴值 MaxRequestBytes 一起設定。在大型環境中,如果這些值未設為 32768,則 Microsoft Office Outlook® Web Access for Exchange Server 使用者會遇到登入失敗。尤其,缺少這些值會造成「HTTP  400 - 錯誤的要求」之錯誤。當設定 MaxFieldLength 登錄值時,您也必須將 MaxRequestBytes 參數設定為 32768,讓身為超過 75 個群組之成員的使用者能夠登入 Outlook Web Access。MaxRequestBytes 登錄值會判定要求行和各標題的總大小上限。如果它的值小於 MaxFieldLength,則會調整 MaxFieldLength 值。

important重要事項:
此文章包含和編輯登錄有關的資訊。在編輯登錄之前,請確定若發生問題,您知道如何還原登錄。如需還原登錄的相關資訊,請參考 Regedit.exe 或 Regedt32.exe 中的<還原登錄>說明主題。

若要設定 MaxRequestBytes 及 MaxFieldLength 參數

  1. 開啟登錄編輯程式,例如 Regedit.exe 或 Regedt32.exe。

  2. 瀏覽至:

    HKLM\System\CurrentControlSet\Services\HTTP\Parameters

  3. 以滑鼠右鍵按一下 [Parameters],按一下 [新增] | [DWORD 值],並將值命名為 MaxFieldLength。

  4. 以滑鼠右鍵按一下 [Parameters],按一下 [新增] | [DWORD 值],並將值命名為 MaxRequestBytes。

  5. 在右窗格中,連按兩下 [MaxFieldLength],並將其值設定為 32768 (十進位)。

  6. 在右窗格中,連按兩下 [MaxRequestBytes],並將其值設定為 32768 (十進位)。

  7. 關閉登錄編輯程式,然後重新啟動 IIS Admin 服務,使變更生效。

編輯登錄之前,如需如何編輯登錄的相關資訊,請參閱 Microsoft 知識庫文章 256986<Microsoft Windows 登錄說明>(https://go.microsoft.com/fwlink/?linkid=3052&kbid=256986)。

如需網際網路資訊服務 (IIS) HTTP 登錄設定的相關資訊,請參閱知識庫文章 820129<IIS 的 Http.sys 登錄設定>(https://go.microsoft.com/fwlink/?linkid=3052&kbid=820129)。