ASP 要求を使用してインターネット インフォメーション サービスに大きいファイルをアップロードすると 403 エラーが表示される


重要: この記事には、メタベースの編集に関する情報が含まれています。 万一に備えて、メタベースを編集する前には必ずバックアップ コピーを作成して、復元できるようにしてください。 バックアップ方法の詳細については、Microsoft 管理コンソール (MMC) のヘルプで「メタベースのバックアップと復元の方法」を参照してください。

現象


ASP (Active Server Pages) 要求を使用して、Microsoft インターネット インフォメーション サービス (IIS) 5.0、Microsoft インターネット インフォメーション サービス (IIS) 5.1 または Microsoft インターネット インフォメーション サービス (IIS) 6.0 がインストールされているコンピューターに大きいファイルをアップロードすると、アップロードが失敗する場合があります。 また、403 エラー メッセージや次のいずれかのようなエラー メッセージが表示される場合もあります。

エラー メッセージ 1
Request object error 'ASP 0104 : 80004005' Operation not Allowed :
エラー メッセージ 2
007~ASP 0104~Operation not Allowed
大量のフォーム データを ASP ページに送信すると、次のようなエラー メッセージが表示される場合があります。
Error ’80020009’ Exception occurred
また、Response.binaryWrite メソッドを使用するとファイルのアップロードが失敗する場合があります。

以前のバージョンの IIS では同様のファイルのアップロードが正常に行われていた場合でも、これらの現象が発生します。

原因


この問題は、Content-Length ヘッダーが存在し、Content-Length ヘッダーに指定されているデータの量が IIS メタベースの AspMaxRequestEntityAllowed プロパティの値よりも大きい場合に発生します。 AspMaxRequestEntityAllowed プロパティの既定値は 204,800 バイトです。

注: このメタベース プロパティは、2002 年 10 月にリリースされた IIS の累積的な修正プログラムで初めて組み込まれました。 IIS 6.0 の既定のインストールには、このメタベース プロパティが組み込まれています。

解決方法


警告: メタベースの編集を誤ると、深刻な問題が発生することがあります。最悪の場合、メタベースを使用するすべての製品の再インストールが必要になることがあります。 マイクロソフトは、メタベースの編集を誤ったために発生した問題に関しては一切責任を負わないものとします。 メタベースの編集は、自己の責任において行ってください。

注: メタベースを編集する前に、メタベースのバックアップを必ず作成してください。


この問題を解決するには、AspMaxRequestEntityAllowed プロパティの値を変更して、ASP 要求のエンティティ本体で許可される最大バイト数を設定します。 このためには、次の手順に従います。
  1. コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。
    cd drive:\inetpub\adminscripts
    注: フォルダを変更するこのコマンドの drive には、IIS がインストールされているハード ディスクを指定します。
  2. コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。
    cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed size
    注: このコマンドの size には、アップロードできるファイルの最大サイズを指定します。 最大値は 1,073,741,824 バイトです。 この値は、目的の機能を使用できる最小値に設定してください。
  3. コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。
    iisreset

詳細情報


AspMaxRequestEntityAllowed プロパティでは、ASP 要求のエンティティ本体で許可される最大バイト数が指定されます。 Content-Length ヘッダーが存在し、Content-Length ヘッダーに指定されているデータの量が AspMaxRequestEntityAllowed プロパティの値よりも大きい場合、IIS から 403 エラーが返されます。 [

AspMaxRequestEntityAllowed プロパティは PUT 要求および POST 要求にのみ適用されます。

発行します。 [

AspMaxRequestEntityAllowed プロパティは GET 要求には適用されません。 このメタベース プロパティは ASP にのみ適用されるため、他の ISAPI (Internet Server API) 拡張機能には影響はありません。

[

AspMaxRequestEntityAllowed プロパティは機能的に MaxRequestEntityAllowed プロパティと関連しています。 ただし、AspMaxRequestEntityAllowed プロパティは ASP 要求に固有のプロパティです。 次のように設定することができます。

MaxRequestEntityAllowed プロパティは、World Wide Web Publishing Service (WWW Service) レベルで 1 メガバイト (MB) に設定できます。 次に、特定の ASP アプリケーションが処理するデータ量が少ないことがわかっている場合は、AspMaxRequestEntityAllowed プロパティを小さい値に設定できます。

関連情報


2002 年 10 月にリリースされた IIS の累積的な修正プログラムを入手する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

327696 MS02-062: インターネット インフォメーション サービス用の 2002 年 10 月の累積的なパッチ

2003 年 5 月にリリースされた IIS の累積的な修正プログラムを入手する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

811114 MS03-018: インターネット インフォメーション サービス用の 2003 年 5 月の累積的なパッチ