Azure App Service にディプロイしたら動かない
Azure App Service にディプロイしたら、動かないってことありますよね。ローカル環境では、動いてたのに。
このページは現在機能していません。現在、この要求を処理できません。HTTP ERROR 500。と、言われても。
開発者例外ページ
一方、ローカルの開発環境では、ブラウザにスタックトレース等のエラーの詳細が出力されます。原因の特定が簡単です。が、Azure App Service 上ではエラーの詳細が、確認できなくて、原因の特定に時間がかかってしまう。
このブラウザにエラーを出力するものですが、Developer exception page(開発者例外ページ) というものです。
この開発者例外ページが出力される条件として、「開発環境で実行している。」というものがあります。
開発環境で実行していることを定義するためには、環境変数 ASPNETCORE_ENVIRONMENT
に Development
を設定します。
ローカル開発環境での launchSettings.json による設定は、以下の記事にあります。
Azure App Service での ASPNETCORE_ENVIRONMENT の設定
Azure Portal で、対象の App Service を開いて、[設定] - [構成] を選択。
[New application setting] から、Name に、ASPNETCORE_ENVIRONMENT
Value Development
を設定し、[OK] を選択します。[Save] を選択し、設定を保存します。
これで、エラーが発生すると、開発者例外ページが表示されるようになります。
本番環境では?
開発環境の設定は、もちろん、開発環境向けの設定なので、本番環境には適していません。開発環境用に用意した Azure App Service で利用しましょう。
本番環境では、ログ ストリームでエラーを確認するのが良いと思います。
ただし、デフォルトでは、エラーログが出力されないため、Azure Portal で、App Service を開いて、[監視] - [App Service ログ] を選択し、ログを有効化します。
設定方法は、以下にあります。Azure App Service on Linux と Azure App Service on Windows では、設定項目に違いがあります。
これで、[監視] - [ログ ストリーム] を参照すると、ログが確認できます。
以上、参考までに。
コメント (0)
コメントの投稿