ColdFusion のエラー 500 のトラブルシューティング

ColdFusion におけるエラー 500 のトラブルシューティングについて説明します。エラー 500 に関する問題を解決するには、このドキュメントで示している手順に従います。

ColdFusion のエラー 500 は、通常、web サーバに何らかの問題があることを意味します。エラーの原因を確認するには、ColdFusion Administrator のサーバーの設定/設定で「 HTTP ステータスコードの有効化」オプションを有効にします。

デフォルト で、 このオプションは選択されています。このオプションが選択されていると、 web サーバーが 「500 内部サーバーエラー」を返します。

ColdFusion レベルでエラーが発生しているとして、それがどこで発生しているかを確認する必要がある場合は、このオプションをオフにして、トラブルシューティングをさらに進めるうえで役に立つ詳細なエラーメッセージを取得するようにします。 

注意:

(「HTTP ステータスコードの有効化」オプションをオフにした)コンピューターが本番サーバーである場合は、デバッグ情報がクライアントのブラウザーにも表示されます。

デバッグ情報を表示するコンピューターの IP アドレスを追加します。この IP アドレスを ColdFusion Administrator/デバッグとロギング/デバッグする IP アドレスで追加します。

エラー 500 が発生する理由

  1. サーバーと ColdFusion でビット数が異なります。つまり、サーバー OS が 64 ビット版で、32 ビット版 ColdFusion がインストールされている場合は、エラー 500 が表示される可能性があります。この問題を解決するには、次のいずれかを実行します。

    注意:

    64 ビット版 ColdFusion には 64 ビット IIS が必要で、32 ビット版 ColdFusion には 32 ビット IIS が必要です。ColdFusion インストーラーが 32 ビット版と 64 ビット版のどちらのインストーラーであるかを確認してください。

    • ColdFusion_2016_WWEJ_win.exe は 32 ビット版です
    • ColdFusion_2016_WWEJ_win64.exe は 64 ビット版です
    • 64 ビット版 ColdFusion をインストールします。
    • インターネットインフォメーションサービス(IIS)マネージャーに移動して、「アプリケーションプール」を選択します。実行中のプールを右クリックし、「詳細設定」をクリックします。
    詳細設定

    詳細設定ダイアログボックスで、「32 ビットアプリケーションを有効にする」オプションを True に設定します。デフォルトでは、値は False になっています。

    32 ビットアプリケーション
    IIS を再起動します。

  2. 管理者権限を持たないでアップデートをインストールしている場合は、エラー 500 が表示される可能性があります。この問題を解決するには、管理者としてログインしてから、アップデートを適用します。

  3. 使用しているコンピューターのメモリが不足している場合は、エラー 500 が発生する可能性があります。ColdFusionerror.log ファイルを開いて、OutOfMemory(メモリ不足)エラーが記録されているかどうかを確認します。記録されている場合は、Java ヒープのサイズを大きくします。

  4. config.xml ファイルで定義されている設定を IIS で読み取れなかった場合は、ColdFusion でエラー 500 が発生する可能性があります。コネクタが IIS に設定されている場合、ColdFusion は必要な MIME タイプを IIS に登録しようとします。コネクタ設定時に選択されたオプションに基づいて、MIME タイプはサーバーまたは特定のサイトに登録されます。ColdFusion が MIME タイプを登録しようとすると、IIS はそれを web.config ファイルに格納します。このエントリは実際には重複なので、IIS は影響を受けるサイトからページを配信できません。その結果、エラー 500.19 が発生します。この問題を解決するには、IIS マネージャー/<検討中のサイト>/MIME の種類に移動し、.air 拡張子を参照しているエントリを削除して、コネクタを再設定します。

  5. 「isapi_redirect 500 内部サーバーエラー」というエラーメッセージが表示された場合は、次の手順に従います。

    • IIS の ISAPI フィルターを開きます。

    • ウィンドウを右クリックし、「追加」をクリックします。

    • フィルターの名前を入力し、「実行可能ファイル」テキストボックスに、<cf_home>\config\wsconfig\1\isapi_redirect.dll にある isapi_redirect DLL のパスを指定します。

    • IIS を再起動します。
    • CFM ページを読み込みます。
  6. 別のバージョンの ColdFusion が既にインストールされているサーバーに ColdFusion をインストールしようとしていて、「IIS Web サイト」から「すべて」を選択するか、既存の ColdFusion に現在設定されている特定の IIS Web サイトを選択した場合は、エラー 500 が表示される可能性があります。

    このエラーが発生するのは、新しい ColdFusion バージョンについて、接続する特定の web サイトとしてデフォルト Web サイトを選択した場合です。同じデフォルト Web サイトが、既存の ColdFusion インストールにも現在設定されています。そのため、デフォルト Web サイトとの接続を既存の ColdFusion から解除するか、新しい ColdFusion に接続するための一時的な IIS Web サイトを作成する必要があります。

  7. 新しいバージョンの ColdFusion をインストールしてある場合でも、サイトの IIS ハンドラーマッピングが依然として既存の ColdFusion を指している場合は、エラー 500 が表示される可能性があります。

    既存の ColdFusion の Tomcat ISAPI フィルターを参照するように、個々の web サイトを設定します。web.config ファイルを次のように編集します。

    <isapiFilters>
     <remove name=&quot;tomcat&quot; />
     <filter 
      name=&quot;tomcat&quot; 
      enabled=&quot;true&quot;
      path=&quot;C:\ColdFusion2016\config\wsconfig\1\isapi_redirect.dll&quot; />
    </isapiFilters>

    IIS を再起動します。

  8. config ディレクトリの IISUser の権限を確認してください。権限が存在しない場合は、エラー 500 が発生します。必要な権限を変更します。

エラー 500 のその他の理由

  1. 最新の VC++ がインストールされていません。これについて詳しくは、http://blogs.coldfusion.com/post.cfm/resolving-500-internal-server-error-with-coldfusion-10-update-14 のブログ投稿を参照してください。
  2. web.config の設定によっては、エラー 500 が発生する可能性があります。この問題を解決するには、web.config の名前を変更するか、web.config を削除します。
  3. アプリケーションプールまたはサイトが破損しています。この問題を解決するには、アプリケーションプールを作成するか、新しいアプリケーションプールを持つ web サイトを作成します。

ヘルプをすばやく簡単に入手

新規ユーザーの場合