Tomcatの設定6:例外エラー発生時の独自エラー画面の方法

Tomcatで運用する場合で、いくつか考慮した方が良い設定・情報を記載します。



GeneXusが予期しない例外エラーについてはJavaのエラーがそのまま表示されます。
※予期しない例外とは、プログラムエラーやミドルウェアのエラーなどです。

GeneXusの画面やプロシージャでError_Handlerが設定してあれば、「DBからの例外エラー」はある程度対処することが出来ますが、プログラムミスによる例外エラーや、TomcatからのメモリオーバーフローなどはそのままJavaのエラー画面が出ることになります。

error_handler コマンド

Javaのエラー画面をそのまま表示することはセキュリティ的にも避けたほうが良く、その対処は、TomcatのErrorPage設定で行います。
※詳細のサーバー情報をユーザーに見せないように防止することが望ましい


Tomcat\webapps\<アプリケーションディレクトリ>\WEB-INF\web.xml

記述場所は<web-app> ~ </web-app>の間

<error-page>
<error-code>505</error-code>
<location>/error_page.html</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error_page.html</location>
</error-page>


この設定で、例外エラーが発生した場合にはerror_page.htmlに遷移します。

遷移先をGeneXusの画面にするのはやめておいた方が良いです。
DB接続でエラーになったのに、GeneXusの画面を実行したら、さらにDB接続でエラーになってしまいますので。

コメント

  1. ※追記
    例では505とExceptionだけの記載になってますが、
    401、403、404、500は入れておいた方が良さそうです。

    こちらの内容も有効ですね。
    https://t246osslab.wordpress.com/2018/08/14/%E6%84%8F%E5%A4%96%E3%81%A8%E7%9F%A5%E3%82%89%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%80%81tomcat%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E3%83%90%E3%83%BC/

    返信削除

コメントを投稿

このブログの人気の投稿

IVS文字・サロゲートペア文字の注意

Tomcatの設定3:8080ポート以外で動作させる

Tomcatの設定5:メモリ調整と起動モード

Tomcatの設定4:セキュリティ関連の調整

GeneXusのオプション設定、起動時オプション

ファビコン(fabicon)の設定