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

この記事では、インターネット インフォメーション サービス (IIS) 7.0 以降のバージョンの Web アプリケーションで「HTTP 500.19」エラー メッセージが表示される問題を解決します。

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

このエラーを解決するには、次のセクションで適切なエラー コード情報を確認してください。

HRESULT コード 0x8007000d

エラー メッセージ:

アプリケーション "アプリケーション名" でのサーバー エラー
HTTP エラー 500.19 - 内部サーバー エラー
HRESULT: 0x8007000d
HRESULT の説明
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

原因

この問題は、ApplicationHost.config または Web.config ファイルに不正な形式または識別されていない XML 要素が含まれているために発生します。 IIS は、インストールされていないモジュールのXML要素を識別できません。 たとえば、IIS URL Rewrite モジュールです。

解決方法

以下のいずれかの方法を実行します。

  • 不正な形式の XML 要素を ApplicationHost.config または Web.config ファイルから削除します。
  • 識別されていない XML 要素を確認してから、関連する IIS モジュールをインストールします。

HRESULT コード 0x80070021

エラー メッセージ:

アプリケーション "アプリケーション名" でのサーバー エラー
HTTP エラー 500.19 - 内部サーバー エラー
HRESULT: 0x80070021
HRESULT の説明
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

原因

この問題は、IIS 構成ファイルの指定された部分が上位の構成レベルでロックされているときに発生する可能性があります。

解決方法

指定されたセクションのロックを解除するか、上位レベルで使用しないでください。 構成のロックの詳細については、「IIS 7.0 構成でロックを使用する方法」を参照してください。

HRESULT コード 0x80070005

エラー メッセージ:

アプリケーション "アプリケーション名" でのサーバー エラー
HTTP エラー 500.19 - 内部サーバー エラー
HRESULT: 0x80070005
HRESULT の説明
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

原因

この問題は、次のいずれかに該当する場合に発生します。

  • Windows を実行しているコンピューターで IIS を使用しています。 さらに、汎用名前付け規則 (UNC) パススルー認証を使用してリモート UNC 共有にアクセスするように Web サイトを構成します。
  • IIS_IUSRS グループには、ApplicationHost.config ファイル、Web.config ファイル、または IIS の仮想ディレクトリまたはアプリケーション ディレクトリに対する適切なアクセス許可がありません。

解決方法

以下のいずれかの方法を実行します。

  • UNC パススルー認証を使用してリモート UNC 共有にアクセスするように Web サイトを構成しないでください。 代わりに、リモートの UNC 共有にアクセスするための適切なアクセス許可を持っているユーザー アカウントを指定します。

  • ApplicationHost.config または Web.config ファイルの IIS_IUSRS グループに読み取りアクセス許可を付与します。 これを行うには、次の手順に従います。

    1. エクスプローラーで、Web サイトに関連付けられている ApplicationHost.config ファイルを含むフォルダーを見つけるか、Web サイトに関連付けられている Web.config ファイルを含む仮想ディレクトリまたはアプリケーション ディレクトリを見つけます。

      注:

      Web.config ファイルは、IIS の仮想ディレクトリまたはアプリケーション ディレクトリにない可能性があります。 このような状況でも、次の手順に従う必要があります。

    2. ApplicationHost.config ファイルが含まれているフォルダーを右クリックするか、Web.config ファイルが含まれている可能性がある仮想ディレクトリまたはアプリケーション ディレクトリを右クリックします。

    3. [プロパティ] をクリックします。

    4. [セキュリティ] タブ、[編集] の順に選択します。

    5. [追加] を選択します。

    6. [選択するオブジェクト名を入力します] ボックスに「computername>\IIS_IUSRS」と入力<し、[名前の確認] を選択し、[OK] を選択します

      注:

      <Computername> は、コンピューター名のプレースホルダーです。

    7. [読み取り] チェック ボックスをオンにして [OK] を選択します。

    8. フォルダーの [プロパティ] ダイアログ ボックスで [OK] を選択します。

      注:

      IIS_IUSRS がこれらのファイルの読み取りアクセス許可を持つように、フォルダーのプロパティが ApplicationHost.config ファイルと Web.config ファイルに継承されていることを確認してください。

HRESULT コード 0x800700b7

エラー メッセージ:

アプリケーション "アプリケーション名" でのサーバー エラー
HTTP エラー 500.19 - 内部サーバー エラー
HRESULT: 0x800700b7
HResult の説明
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

原因

この問題は、構成階層の上位レベル (たとえば、親サイトまたはフォルダー内の ApplicationHost.config または Web.config ファイル) にある指定された構成セクション設定のエントリが重複している場合に発生する可能性があります。 エラーメッセージ自体は、重複するエントリの場所を示しています。

解決方法

指定された構成ファイルを調べ、親の ApplicationHost.config または Web.config ファイルと比較して、エラー メッセージに示されているように、重複するエントリがないかどうかを確認します。 重複するエントリを削除するか、固有のエントリになるようにします。 たとえば、この問題は、ApplicationHost.config ファイルに次のコードのエントリが重複しているために発生する可能性があります。

<add accessType="Allow" users="*" />

この問題を解決するには、承認規則の ApplicationHost.config ファイルの重複するエントリを削除します。 これを行うには、次の手順に従います。

  1. [スタート] を選択し、[検索の開始] ボックスに「メモ帳」と入力します。[メモ帳] を右クリックして [管理者として実行] を選択します。

    注:

    管理者パスワードまたは確認を求められたら、パスワードを入力するか、[続行] を選択します。

  2. [ファイル] メニューの [開く] を選択し、[ファイル名] ボックスに「%windir%\System32\inetsrv\config\applicationHost.config」と入力して [開く] を選択します。

  3. ApplicationHost.config ファイル内の、次のコードの重複しているエントリを削除します。

    <add accessType="Allow" users="*" />
    

HRESULT コード 0x8007007e

エラー メッセージ:

アプリケーション "アプリケーション名" でのサーバー エラー
HTTP エラー 500.19 - 内部サーバー エラー
HRESULT: 0x8007007e
HResult の説明
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

原因

この問題は、ApplicationHost.config または Web.config ファイルが無効または存在しないモジュールまたは DLL を参照しているために発生します。

解決方法

ApplicationHost.config または Web.config ファイルで、無効なモジュール参照または DLL 参照を見つけて、参照を修正します。 正しくないモジュールを特定するには、失敗した要求トレースを有効にし、問題を再現します。

HRESULT コード 0x800700c1

エラー メッセージ:

アプリケーション "アプリケーション名" でのサーバー エラー
HTTP エラー 500.19 - 内部サーバー エラー
HRESULT: 0x800700c1
HRESULT の説明
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

原因

この問題は、指定されたモジュールのビット数がアプリケーションをホストしているアプリケーション プールのビット数と異なる場合に発生する可能性があります。 たとえば、32 ビット コンポーネントを 64 ビット アプリケーション プールに読み込もうとしています。 この問題は、指定されたモジュールが壊れている場合にも発生する可能性があります。

解決方法

指定されたモジュールのビット数がホスティング アプリケーション プールのビット数と同じであることを確認してください。 また、モジュールが破損していないことを確認してください。

HRESULT コード 0x8007010b

エラー メッセージ:

アプリケーション "アプリケーション名" でのサーバー エラー
HTTP エラー 500.19 - 内部サーバー エラー
HRESULT: 0x8007010b
HRESULT の説明
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

原因

この問題は、指定されたコンテンツ ディレクトリにアクセスできない場合に発生する可能性があります。

解決方法

  • ファイル パスが存在することを確認します。
  • ファイル パスに正しい名前が付けられていることを確認します。
  • ファイル パスに正しいファイル レベルのアクセス許可が設定されていることを確認します。
  • ファイル パスが有効なファイル システムの種類を指していることを確認します。

ファイル パスがわからない場合は、プロセス モニターまたは失敗した要求トレース ツールを使用してファイル パスを特定します。

HRESULT コード 0x8007052e

エラー メッセージ:

アプリケーション "アプリケーション名" でのサーバー エラー
HTTP エラー 500.19 - 内部サーバー エラー
HRESULT: 0x8007052e
HRESULT の説明
ページに関連する構成データが無効であるため、要求されたページにアクセスできません。

原因

IIS の既定のプロセス ID には、リモート共有で Web.config ファイルを開くための十分なアクセス許可がありません。

解決方法

この Web アプリケーションのアプリケーション プール ID アカウントに、Web.config ファイルを開くための十分なアクセス許可があることを確認してください。

HRESULT コード 0x80070003

エラー メッセージ:

アプリケーション "アプリケーション名" でのサーバー エラー
HTTP エラー 500.19 - 内部サーバー エラー
HRESULT: 0x80070003
HRESULT の説明
構成ファイルを読み取れません。

原因

このエラーは、アクセス許可がないか、仮想ディレクトリのパスと一致しない物理パスが原因で発生します。 たとえば、Web アプリの物理ルート パスの下に Web.config が存在しません。

解決方法

  • Web.config パスが存在し、正しいアクセス許可が設定されていることを確認します。
  • プロセス モニター ログを収集して、エラーに関する詳細情報を取得します。

Windows を更新するときに IIS 構成ファイルの破損の問題を修正する

一般的な安全ルールとして、更新プログラムをインストールする前に、すべての構成ファイル (IIS に限定されない) をバックアップする必要があります。 仮想マシンを使用する場合は、仮想マシンを更新する前に、仮想マシンのスナップショットを取得します。 このアドバイスは、Windows 更新プログラムに限定されません。