HTTP エラー 500.0 - IIS Web ページを開いたときの内部サーバー エラー

この記事は、IIS でホストされている Web サイトにアクセスしたときに発生する HTTP 500.0 エラーの解決に役立ちます。

元の製品バージョン:インターネット インフォメーション サービス
元の KB 番号: 942031

概要

この記事では、インターネット インフォメーション サービス (IIS) Web アプリケーションで 500.0 エラーが発生したときの HRESULT コードについて説明します。 この記事は、Web サイト管理者を対象としています。 これらのエラーには多くの原因があり、さまざまなシステム構成に影響を与える可能性があります。 この記事で説明する手順は、サーバー上の管理者グループのメンバーが実行する必要があります。

これらのエラーが発生したエンド ユーザーは、Web サイト管理者に問題を通知する必要があります。

HResult コード

HTTP エラー 500 メッセージは、エラーが返された時点で Web サイトをホストしている Web サーバーで問題が発生したことを示します。

これらのエラーの詳細は次のとおりです。

HRESULT コード 0x80070032

エラー メッセージ:

アプリケーション「アプリケーション名」でのサーバー エラー
HTTP エラー 500.0 - 内部サーバー エラー
HRESULT: 0x80070032
HRESULT の説明: ISAPI フィルターdrive:\FilePath\ISAPI_FLT.dllSF_NOTIFY_READ_RAW_DATA通知の登録を試みました。

原因

この問題は、IIS 7.0 がSF_NOTIFY_READ_RAW_DATA通知を登録する Internet Server API (ISAPI) フィルターをサポートしていないために発生します。

解決方法

IIS で、SF_NOTIFY_READ_RAW_DATA通知を登録する ISAPI フィルターを使用しないでください。

HRESULT コード 0x80070035

エラー メッセージ:

アプリケーション「アプリケーション名」でのサーバー エラー
HTTP エラー 500.0 - 内部サーバー エラー
HRESULT: 0x80070035
HRESULT の説明: 内部サーバー エラーが発生したため、ページが表示できませんでした。

原因

この問題は、IIS 7.0 を実行しているサーバーが要求された場所の構成済みルート ディレクトリにアクセスできないため発生します。

解決方法

IIS 7.0 を実行しているサーバーが要求された場所の構成済みルート ディレクトリにアクセスできることを確認してください。

HRESULT コード 0x8007000d

エラー メッセージ:

アプリケーション「アプリケーション名」でのサーバー エラー
HTTP エラー 500.0 - 内部サーバー エラー
HRESULT: 0x8007000d
HRESULT の説明: ハンドラー「ASPClassic」のモジュール一覧に無効なモジュール「IsapiModule」があります。

原因

この問題は、Web サイトのモジュール一覧に ISAPIModule モジュールが無いため発生します。 ISAPIModule モジュールは、次の場所にあります。 drive:\Windows\System32\inetsrv\isapi.dll

解決方法

ISAPIModule モジュールを Web サイトのモジュール一覧に追加してください。 これを行うには、次の手順を実行します。

  1. [スタート]、[ファイル名を指定して実行] の順にクリックし、「inetmgr.exe」と入力して、[OK] をクリックします。
  2. IIS マネージャーで、サーバー名>を展開<し、[Web サイト] を展開し、変更する Web サイトをクリックします。
  3. 機能ビューで、[モジュール] をダブルクリックします。
  4. 操作ウィンドウで、[ネイティブ モジュールの追加] をクリックします。
  5. [ネイティブ モジュールの追加] ダイアログ ボックスで、[IsapiModule] チェック ボックスをクリックして選び、[OK] をクリックします。

HRESULT コード 0x800700c1

エラー メッセージ:

アプリケーション「アプリケーション名」でのサーバー エラー
HTTP エラー 500.0 - 内部サーバー エラー
HRESULT: 0x800700c1
HRESULT の説明: 内部サーバー エラーが発生したため、ページが表示できませんでした。

原因

この問題は、スクリプト マッピングが有効ではないため発生します。

解決方法

スクリプト マッピングが要求を処理できる ISAPI.dll ファイルをポイントしていることを確認してください。 これを行うには、次の手順を実行します。

  1. [スタート]、[ファイル名を指定して実行] の順にクリックし、「inetmgr.exe」と入力して、[OK] をクリックします。
  2. IIS マネージャーで、サーバー名>を展開<し、[Web サイト] を展開し、変更する Web サイトをクリックします。
  3. 機能ビューで、[ハンドラー マッピング] をダブルクリックします。
  4. スクリプト マッピングが正しい ISAPI.dll ファイルをポイントしていることを確認してください。 例えば、.asp ファイルは %windir%\system32\inetsrv\asp.dll ファイルにマッピングする必要があります。

HRESULT コード 0x80070005

エラー メッセージ:

アプリケーション「アプリケーション名」でのサーバー エラー
HTTP エラー 500.0 - 内部サーバー エラー
HRESULT: 0x80070005
HRESULT の説明: ISAPI フィルター "path_of_isapi" の LoadLibraryEx が失敗しました。

原因

この問題は、有効ではない ISAPI フィルターがグローバル レベルまたは Web サイト レベルで読み込まれているため発生します。

解決方法

有効ではない ISAPI フィルターを削除してください。 これを行うには、次の手順を実行します。

  1. [スタート]、[ファイル名を指定して実行] の順にクリックし、「inetmgr.exe」と入力して、[OK] をクリックします。
  2. IIS マネージャーで、サーバー名>を展開<し、[Web サイト] を展開し、変更する Web サイトをクリックします。
  3. 機能ビューで、[ISAPI フィルター] をダブルクリックします。
  4. 削除する ISAPI フィルターを右クリックして、[削除] をクリックします。

HRESULT コード 0x8007007f

HRESULT 0x8007007f には、次の 2 つの可能性があります。

  • エラー メッセージ 1:

    アプリケーション「アプリケーション名」でのサーバー エラー
    HTTP エラー 500.0 - 内部サーバー エラー
    HRESULT: 0x8007007f
    HRESULT の説明: ISAPI フィルター "path_of_isapi" で GetProcAddress を呼び出すことができませんでした。

    原因

    この問題は、有効ではない ISAPI フィルターがグローバル レベルまたは Web サイト レベルで読み込まれているため発生します。

    解決方法

    この問題を解決するには、無効な ISAPI フィルターを削除してください。 これを行うには、次の手順を実行します。

    1. [スタート]、[ファイル名を指定して実行] の順にクリックし、「inetmgr.exe」と入力して、[OK] をクリックします。
    2. IIS マネージャーで、サーバー名>を展開<し、[Web サイト] を展開し、変更する Web サイトをクリックします。
    3. 機能ビューで、[ISAPI フィルター] をダブルクリックします。
    4. 削除する ISAPI フィルターを右クリックして、[削除] をクリックします。
  • エラー メッセージ 2:

    アプリケーション「アプリケーション名」でのサーバー エラー
    HTTP エラー 500.0 - 内部サーバー エラー
    HRESULT: 0x8007007f
    HRESULT の説明: アクセスしようとしているページは問題があるため表示できません。

    原因

    この問題は、要求されたリソースのハンドラー マッピングが要求を処理できない .dll ファイルをポイントしているために発生します。

    解決方法

    この問題を解決するには、要求されたリソースのハンドラー マッピングが要求を処理できる .dll ファイルをポイントするよう編集します。 これを行うには、次の手順を実行します。

    1. [スタート]、[ファイル名を指定して実行] の順にクリックし、「inetmgr.exe」と入力して、[OK] をクリックします。
    2. IIS マネージャーで、サーバー名>を展開<し、[Web サイト] を展開し、変更する Web サイトをクリックします。
    3. 機能ビューで、[ハンドラー マッピング] をダブルクリックします。
    4. 編集するスクリプト マッピングを右クリックして、[編集] をクリックします。
    5. [スクリプト マップの編集] ダイアログ ボックスの [実行可能ファイル] ボックスに適切な実行可能ファイルを入力して [OK] をクリックします。
      例えば、.asp ファイルは %windir%\system32\inetsrv\asp.dll ファイルにマッピングする必要があります。

詳細

Web アプリケーション コードからスローされた例外については、例外の種類、例外メッセージ、および例外呼び出し履歴に対して、アプリケーション イベント ログまたは独自のアプリケーション ログをチェックします。 さらにデバッグが必要な場合は、DebugDiag の最新バージョンを使用して、初回例外ダンプをキャプチャします。