Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


5.8.4 実行環境での設定(Smart Composer機能を使用しない場合)

ここでは,エラーページのカスタマイズの設定について説明します。

〈この項の構成〉

(1) 設定方法

エラーステータスコードとエラーページとの対応づけは,次のファイルで定義します。

workers.properties設定時の注意事項
  • エラーステータスコードは,ワーカ単位で指定します。

  • エラーステータスコードを指定できるワーカのタイプは,「ajp13」だけです。ワーカのタイプが「lb」(ラウンドロビンに基づく負荷分散をするときの設定)の場合,指定した内容は無視されます。

  • 指定できるエラーステータスコードは,次の表のとおりです。これ以外のエラーステータスコードにエラーページを対応づけることはできません。

    表5‒20 エラーページと対応づけできるエラーステータスコード

    エラーステータスコード

    説明句

    400

    Bad Request

    401

    Unauthorized

    402

    Payment Required

    403

    Forbidden

    404

    Not Found

    405

    Method Not Allowed

    406

    Not Acceptable

    407

    Proxy Authentication Required

    408

    Request Time-out

    409

    Conflict

    410

    Gone

    411

    Length Required

    412

    Precondition Failed

    413

    Request Entity Too Large

    414

    Request-URI Too Long

    415

    Unsupported Media Type

    416

    Requested Range Not Satisfiable

    417

    Expectation Failed

    422

    Unprocessible Entity

    423

    Locked

    424

    Failed Dependency

    500

    Internal Server Error

    501

    Not Implemented

    502

    Bad Gateway

    503

    Service Unavailable

    504

    Gateway Time-out

    505

    HTTP Version not supported

    507

    Insufficient Storage

    510

    Not Extended

ErrorDocumentディレクティブ指定時の注意事項
  • ErrorDocumentディレクティブにローカルURLを使用する場合には,リダイレクタがWebコンテナに転送しないURLを指定する必要があります。

  • ルートコンテキストの使用時など,リダイレクタの設定で「/*」というURLパターンをワーカにマッピングしている場合,すべてのリクエストがWebコンテナに転送されます。そのため,ErrorDocumentディレクティブには,Webコンテナ上のリソースを,完全URLを使用して設定してください。

    ルートコンテキストを使用する場合で,エラーステータスコード404発生時に,Webコンテナ上のルートコンテキスト配下のerror404.jspを表示させるための設定例を次に示します。hostAは,Webサーバ稼働ホストです。

    ErrorDocument 404 http://hostA/error404.jsp

    また,このときWebコンテナが停止している場合には,リダイレクタはエラーステータスコード500のエラーを返します。このため,Webコンテナが停止している際のエラーページをカスタマイズするには,ErrorDocumentディレクティブで,エラーステータスコード500に対して別のWebサーバのリソースを,完全URLで指定する必要があります。

(2) 設定例

エラーページのカスタマイズの例を次に示します。

workers.propertiesの例
# ワーカ定義ファイルの記述
worker.list=worker1
 
worker.worker1.type=ajp13
worker.worker1.host=host1
worker.worker1.port=8007
worker.worker1.delegate_error_code=404

worker.<ワーカ名>.delegate_error_codeキーに,エラーステータスコード「404(Not Found)」を定義しています。

httpsd.confの例
# httpsd.confの記述#
#     :
ErrorDocument 404 /missing.html

エラーステータスコードと,対応するエラーページのファイル名を対応づけます。エラーステータスコード「404(Not Found)」のエラーが発生した場合に,missing.htmlファイルを表示するようになります。

ErrorDocumentディレクティブの詳細については,マニュアル「HTTP Server」を参照してください。