特定のIIS7/7.5 500.19
構成エラーは、ローカルサーバーで実行されているブラウザでのみ表示されます。
これは、サイトの<httpErrors errorMode="Detailed" existingResponse="PassThrough" />
ファイルのsystem.webServer
セクションにweb.config
を設定したかどうかに関係なく(またはグローバルに)発生するようです。
たとえば、一般的なIIS7500エラーページが表示されたばかりだと報告した開発者がいました。
これは、web.config
で次のように構成されていても発生していました。
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" existingResponse="PassThrough" />
</system.webServer>
</configuration>
サーバー自体のサイトを参照すると、次のように表示されます(機密情報の一部が編集されています)。
この理由は、web.config
にエラーがある場合、それを解析できないためです。解析できないため、ローカルの<httpErrors>
設定が読み取られず、IISがデフォルト設定(つまり、DetailedLocalOnly)に戻りますか?
更新:
@ LazyOne -私がすでに試したサーバーレベルで上記の設定を設定することを提案しました。これにより、生の500エラーが発生しました。
もう少し調べて、サイト500.19
が破壊された場合でも、web.config
エラーをリモートで表示する方法を考え出しました。
秘訣は、(グローバルに)errorMode="Detailed"
とexistingResponse="Replace"
を設定することです。
existingResponse="Replace"
設定は少し直感的ではありませんが、意味があります。