web-dev-qa-db-ja.com

IIS7エラー設定とリモートエラー

特定のIIS7/7.5 500.19構成エラーは、ローカルサーバーで実行されているブラウザでのみ表示されます。

これは、サイトの<httpErrors errorMode="Detailed" existingResponse="PassThrough" />ファイルのsystem.webServerセクションにweb.configを設定したかどうかに関係なく(またはグローバルに)発生するようです。

たとえば、一般的なIIS7500エラーページが表示されたばかりだと報告した開発者がいました。

enter image description here

これは、web.configで次のように構成されていても発生していました。

<configuration>
  <system.webServer>
    <httpErrors errorMode="Detailed" existingResponse="PassThrough" />
  </system.webServer>
</configuration>

サーバー自体のサイトを参照すると、次のように表示されます(機密情報の一部が編集されています)。 enter image description here

この理由は、web.configにエラーがある場合、それを解析できないためです。解析できないため、ローカルの<httpErrors>設定が読み取られず、IISがデフォルト設定(つまり、DetailedLocalOnly)に戻りますか?

更新:

@ LazyOne -私がすでに試したサーバーレベルで上記の設定を設定することを提案しました。これにより、生の500エラーが発生しました。

enter image description here

3
Kev

もう少し調べて、サイト500.19が破壊された場合でも、web.configエラーをリモートで表示する方法を考え出しました。

秘訣は、(グローバルに)errorMode="Detailed"existingResponse="Replace"を設定することです。

existingResponse="Replace"設定は少し直感的ではありませんが、意味があります。

2
Kev