再デプロイ中または再ロード中の Web アプリケーションにアクセスしようとすると、404 エラーが発生しました。これにより、ユーザーがたまたまそれを見た場合、時間の浪費となるヘルプデスクへの電話が発生する可能性があります。404 メッセージを、「このアプリケーションはアップグレード中です - 1、2 分後にもう一度確認してください」など、より役立つメッセージに置き換えるにはどうすればよいですか?
3 に答える
影響を最小限に抑えるために、アプリケーションの「事前デプロイ」を行うためのアプリケーションのバージョン管理機能を検討することをお勧めします。
アプリをデプロイします:
$ asadmin deploy myapp.war
バージョン2を「無効」モードでデプロイします。これは、古いバージョンがまだアクティブであることを意味します。
$ asadmin deploy --enabled = false --name myapp:version2 myapp.war(バージョン2は任意の名前です)
version2をアクティブ化する準備ができたら:
$ asadmin enable myapp:version2
このアプローチの良いところは、バージョン2で問題が発生した場合、いつでも元のバージョンにフォールバックできることです。
$ asadmin enable myapp
私は通常、Web アプリケーションをApache プロキシの背後にデプロイします。アプリサーバーがダウンすると、Apache は 503 応答を返します。
これは、別の「申し訳ありませんが、メンテナンスを行っています」というメッセージでカスタマイズできます。
サーバー構成で標準応答コード (403、404 など) をカスタマイズすることもできます。簡単な変更はメッセージ テキストを変更することですが、探しているものほどエレガントではありません。ただし、環境が404、503などを返すポイントが常にあるため、@Mark O'Connorが提供する「プロキシの背後」の回答に加えて、これを追加することを検討してください。