- PR -

Apache2&Tomcat4.1 でInternatl Server Errorメッセージの置き換え

1
投稿者投稿内容
kenpink
会議室デビュー日: 2002/10/08
投稿数: 3
投稿日時: 2003-03-30 23:28
こちらに書き込む内容なのかどうか迷いましたが
もしご存知の方がいらっしゃたらご教示頂きたく
書き込みさせていただきました。

下記の環境で作業しています。
--------------------------------------------------
Windows2000Server
Apache2.0
Tomcat4.1
mod_jk2-2.0.43.dll によるコネクト
workers2.properties にて [uri:/hoge/*] と設定を行い
hoge以下をTOMCATにコネクトするようにしています。
--------------------------------------------------

TOMCATが起動していない場合などに「hoge」にブラウザから
アクセスを行うと「Internal Server Error」が表示されますが
このエラー画面(HTML)をカスタマイズ(独自のHTML)に置き換え
られなくて困っています。

Apacheのhttpd.confの809行目辺りを
ErrorDocument 500 "なぜファイルを指定できないのだろう。"
ErrorDocument 404 /missing.html
とした場合に、
---------------------------------------------------------------
The servlet container is temporary unavailable or being upgraded
なぜファイルを指定できないのだろう。
---------------------------------------------------------------
とブラウザに表示されますが
設定を固定メッセージではなく、
ErrorDocument 500 /tomstop.html
のようにHTMLファイルを指定した場合は、
---------------------------------------------------------------
The servlet container is temporary unavailable or being upgraded
Internal Server Error
The server encountered an internal error or misconfiguration and
was unable to complete your request.
(省略)
Additionally, a 500 Internal Server Error error was encountered
while trying to use an ErrorDocument to handle the request.
---------------------------------------------------------------
とカスタマイズ前のメッセージが表示されてしまいます。

このError500 (Internal Server Error)のメッセージ画面を
完全にオリジナルなものに変更する方法をご存知の方
宜しくご教示下さい。
アレク
ベテラン
会議室デビュー日: 2002/10/23
投稿数: 97
投稿日時: 2003-03-31 12:22
こんにちは。アレクです。

引用:

このError500 (Internal Server Error)のメッセージ画面を
完全にオリジナルなものに変更する方法をご存知の方
宜しくご教示下さい。



TOMCATHOME/conf/web.xml の設定で可能だと思います。

web.xml の一番下の方に <welcome-file-list> というタグがあるはずです。

コード:
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>



このタグのすぐ下に以下のようなタグを追加します。

コード:
    <error-page>
        <error-code>500</error-code>
        <location>"URL"</location>
    </error-page>



これで 500 Internal Server Error 発生時に、指定した URL を表示してくれるはずです。
kenpink
会議室デビュー日: 2002/10/08
投稿数: 3
投稿日時: 2003-04-01 13:32
アレクさん、返信ありがとうございます。
ご指摘の方法を試して見ました。
TOMCATが起動している状態でサーブレットなどが
落ちた場合は、ご指摘の方法で対応できるようです。
ありがとうございます。

しかし、TOMCATが停止している場合(コネクトがエラーになる場合)は
やはりApacheが返信画面を作成しているようでカスタマイズ前の
メッセージが表示されます。

TOMCATが停止している場合も、エラーメッセージをカスタマイズ
(自前のHTML)するようにApacheには設定できないのでしょうかね?。

どなたかご存知ありませんか?
1

スキルアップ/キャリアアップ(JOB@IT)