IIS 6.0 MaxFieldLength parameter not set correctly

[This topic is intended to address a specific issue called out by the Exchange Server Analyzer Tool. You should apply it only to systems that have had the Exchange Server Analyzer Tool run against them and are experiencing that specific issue. The Exchange Server Analyzer Tool, available as a free download, remotely collects configuration data from each server in the topology and automatically analyzes the data. The resulting report details important configuration issues, potential problems, and nondefault product settings. By following these recommendations, you can achieve better performance, scalability, reliability, and uptime. For more information about the tool or to download the latest versions, see "Microsoft Exchange Analyzers" at https://go.microsoft.com/fwlink/?linkid=34707.]  

Topic Last Modified: 2009-09-23

The Microsoft® Exchange Server Analyzer Tool reads the following registry entry to determine whether the maximum field length for HTTP requests has been hard-coded in the registry.

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

The Exchange Server Analyzer also examines the following registry entry to determine the version of the Microsoft Windows® operating system that is running on the destination computer.

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

A CurrentVersion value of 4.0 indicates the computer is running Microsoft Windows NT® Server 4.0. A value of 5.0 indicates the computer is running a Microsoft Windows 2000 Server operating system, and a value of 5.2 indicates the computer is running a Microsoft Windows Server™ 2003 operating system.

Finally, the Exchange Server Analyzer examines the Exchange_Server Windows Management Instrumentation (WMI) class in the root\MicrosoftExchangeV2 namespace to determine the value for the IsFrontEndServer key. A value of False indicates that the Exchange Server computer is not a front-end server. A value of True indicates that the Exchange Server computer is a front-end server.

The Exchange Server Analyzer displays a warning if the Exchange Server Analyzer finds that the value for MaxFieldLength is not set to 32768 on an Exchange back-end server on which the following conditions are true:

  • The Exchange back-end server is running Windows Server 2003.

  • The Exchange back-end server is not configured as a front-end server.

  • The Exchange back-end server has more than 500 mailboxes.

The MaxFieldLength IIS registry parameter, which is not present by default, specifies the maximum size of any individual HTTP client request. This value is typically set in tandem with a companion value, MaxRequestBytes. In larger environments, if these values are not set to 32768, Microsoft Office Outlook® Web Access for Exchange Server users can experience logon failures. Specifically, the absence of these values can cause HTTP 400 - Bad Request errors. When configuring the MaxFieldLength registry value, you must also set the MaxRequestBytes parameter to 32768 to enable users who are members of more than 75 groups to log on to Outlook Web Access. The MaxRequestBytes registry value determines the upper limit for the total size of the Request line and the headers. If its value is lower than MaxFieldLength, the MaxFieldLength value is adjusted.

Important

This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore the registry if a problem occurs. For information about how to restore the registry, view the "Restore the Registry" Help topic in Regedit.exe or Regedt32.exe.

To set the MaxRequestBytes and MaxFieldLength parameters

  1. Open a registry editor, such as Regedit.exe or Regedt32.exe.

  2. Navigate to:

    HKLM\System\CurrentControlSet\Services\HTTP\Parameters

  3. Right-click Parameters, click New | DWORD value, and name the value MaxFieldLength.

  4. Right-click Parameters, click New | DWORD value, and name the value MaxRequestBytes.

  5. In the right pane, double-click MaxFieldLength and set its value to 32768 (decimal).

  6. In the right pane, double-click MaxRequestBytes and set its value to 32768 (decimal).

  7. Close the registry editor and restart the IIS Admin service for the change to take effect.

Before you edit the registry, and for information about how to edit the registry, see the Microsoft Knowledge Base article 256986, "Description of the Microsoft Windows Registry" (https://go.microsoft.com/fwlink/?linkid=3052&kbid=256986).

For more information about the HTTP registry settings for Internet Information Service (IIS), see the Knowledge Base article 820129, "Http.sys registry settings for IIS" (https://go.microsoft.com/fwlink/?linkid=3052&kbid=820129).