Exchange 2007 メールボックスにアクセスしたときに "HTTP 400 要求が正しくありません" エラーが表示される

 

トピックの最終更新日: 2008-10-19

ここでは、大規模な Microsoft Exchange Server 2007 環境で Microsoft Outlook Web Access ユーザーに表示されることがあるエラー メッセージのトラブルシューティングを行う方法について説明します。

ユーザーが Outlook Web Access を使用して Exchange 2007 メールボックスにアクセスしようとすると、次のようなエラー メッセージが表示されます。

HTTP 400 要求が正しくありません (要求ヘッダーが長すぎます)

原因

この問題は、以下の両方の条件が当てはまる場合に発生します。

  • Exchange 2007 メールボックス サーバーの役割が、Windows Server 2003 を実行しているコンピュータでホストされている。
  • ユーザーが多数のグループのメンバである。たとえば、ユーザーが 100 以上のセキュリティ グループのメンバになっている場合があります。

解決方法

Caution注意 :
レジストリに対して誤った編集を行うと、重大な問題が発生する可能性があり、オペレーティング システムの再インストールが必要になる場合があります。 誤ったレジストリ編集に起因する問題は、解決できない場合もあります。 レジストリを編集する前に、重要なデータをバックアップしてください。

この問題を解決するには、以下のコンピュータで、インターネット インフォメーション サービス (IIS) 6.0 に関連した 3 つのレジストリ エントリを修正する必要があります。

  • Exchange 2007 クライアント アクセス サーバーの役割をホストしている Windows Server 2003 ベースのコンピュータ。このコンピュータは、影響を受けるユーザーに対して Outlook Web Access をホストします。
  • Exchange 2007 メールボックス サーバーの役割をホストしている Windows Server 2003 ベースのコンピュータ。このコンピュータは、影響を受けるユーザーのメールボックスをホストします。

レジストリ エントリ

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters

値の名前 : MaxClientRequestBuffer

値の種類 : REG_DWORD

値のデータ : 32768

基数 : 10 進数

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

値の名前 : MaxFieldLength

値の種類 : REG_DWORD

値のデータ : 65534

基数 : 10 進数

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

値の名前 : MaxRequestBytes

値の種類 : REG_DWORD

値のデータ : 500000

基数 : 10 進数

詳細情報

MaxClientRequestBuffer レジストリ エントリでは、HTTP 要求の応答行とヘッダー情報を制限します。MaxClientRequestBuffer によって制限されるデータは、要求の最初のバイトから、エンティティ本体の前にある最後のバイトまでのすべてのデータで構成されます。このデータには、メソッド、URL、追加のパス情報、クエリ文字列、HTTP バージョン、すべてのヘッダー、および要求のすべての部分を区切る文字が含まれます。つまり、要求の本体の一部ではないすべてのデータが含まれます。

IIS 6.0 は要求データをブロック単位でバッファに読み込むので、MaxClientRequestBuffer によって設定された制限は正確でない場合があります。そのため、MaxClientRequestBuffer レジストリ エントリを設定した後で、クライアント要求のサイズおよびヘッダー フィールドに対する実際の制限が想定どおりであることを確認するようにお勧めします。

MaxFieldLength レジストリ エントリでは、各 HTTP 要求ヘッダーの最大サイズを指定します。

note注 :
既定では、このレジストリ エントリは存在しません。

MaxRequestBytes レジストリ エントリでは、要求行およびヘッダーの合計サイズの上限を指定します。一般に、このレジストリ エントリは MaxFieldLength レジストリ エントリと共に構成します。MaxRequestBytes 値が MaxFieldLength 値よりも小さい場合は、MaxFieldLength 値が調整されます。

/exchange 仮想ディレクトリを指定した Outlook Web Access のログオン試行は、クライアント アクセス サーバーによって処理されません。代わりに、要求はメールボックス サーバーに渡されます。これに対し、/owa 仮想ディレクトリを指定した Outlook Web Access のログオン試行は、クライアント アクセス サーバーによって処理されます。

ここで説明したレジストリ エントリに設定した値が十分な大きさでない場合、多数のグループのメンバであるユーザーは、Outlook Web Access のログオンに失敗することがあります。

MaxClientRequestBuffer レジストリ エントリの詳細については、マイクロソフト サポート技術情報の記事 260694「MaxClientRequestBuffer レジストリ値について」を参照してください。

MaxFieldLength レジストリ エントリの詳細については、「IIS 6.0 MaxFieldLength parameter not set correctly」 (英語) を参照してください。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。