web-dev-qa-db-ja.com

イベントログに何も書き込まれていないときにIIS 7.5で500内部サーバーエラーを診断する方法

既存のASP.NET MVC3サイト(既に構成済み)に更新プログラムを展開したところ、IIS死のブルースクリーンが表示されます。

HTTPエラー500.0-内部サーバーエラー
内部サーバーエラーが発生したため、ページを表示できません。

しかしながら;アプリケーションイベントログには何も表示されず、エントリの(さらに)詳細な説明が表示されるはずです。

この問題を診断するにはどうすればよいですか?

46
Greg B

IIS7の失敗した要求トレース機能を見てください。

IIS 7 のトレースを使用した失敗した要求のトラブルシューティング
失敗した要求トレースによるトラブルシューティング

IISは、パイプラインの上位からエラーメッセージを飲み込んでいる可能性があるため、<httpErrors>の設定を微調整することもできます。

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

サイトがクラシックで記述されている場合ASP次に、=でSend Errors to Browser)設定をオンにしてくださいASP構成機能:

enter image description here

最後に、Internet Explorerを使用している場合は、詳細設定でフレンドリーなHTTPエラーメッセージを表示していることを確認してください(ただし、すでにそれを実行したか、別のブラウザを使用しています)。

44
Kev

私の場合:

  • イベントログは空でした。
  • web.configは破損していませんでした-ローカルマシンで同じを使用して検証済み/ inetmgrを使用

最終的に...

  • IISログを確認すると、このようなリクエストが表示されました

...Chrome/57.0.2987.133+Safari/537.36 500 19 5 312

重要なのは:

sc-status sc-substatus sc-win32-status 500 19 5

グーグルで私をIIS_USRSにはwwwフォルダへの読み取り権限がありません

13
fiat

最も明らかな問題は、Webアプリケーションフォルダーに対する不適切またはゼロのNTFS権限です。そのため、サイトにサービスを提供するアカウントに適切な権限があることを確認してください。 Webディレクトリへの適切なNTFS権限がなければ、web.configに何を入れても問題はありません。

簡単なチェックは、すべての人に完全な権利を与えることです。サイトが機能し始めれば、それが権利の問題であることがわかり、適切な権利をより適切なアカウントに割り当てるように設定できます。

4
rism

IIS6からアップグレードする場合、6で動作するweb.configの1つである可能性がありますが、IIS 7.5では動作しません... ... IIS Webサイトの場合、形式についてエラーが発生する可能性があります(セクションは他のセクションの下にある必要があります...)

1
M Hall

Azure Webアプリでも同じ問題が発生しました。ローカルでデバッグしているときに、ajax呼び出しから返されたエラーメッセージ(JSON)が完全にブラウザーに返されました。しかし、Webアプリにデプロイすると、メッセージが飲み込まれ、デフォルトの500エラーメッセージが返されました。そのため、web.config existingResponseタグでPassThrough値をhttpErrorsに明示的に設定する必要がありました。

0
Loul G.