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

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

<この項の構成>
(1) 設定方法
(2) 設定例

(1) 設定方法

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

workers.properties設定時の注意事項
  • エラーステータスコードは,ワーカ単位で指定します。
  • エラーステータスコードを指定できるワーカのタイプは,「ajp13」だけです。ワーカのタイプが「lb」(ラウンドロビンに基づく負荷分散をするときの設定)の場合,指定した内容は無視されます。
  • 指定できるエラーステータスコードは,次の表のとおりです。これ以外のエラーステータスコードにエラーページを対応づけることはできません。

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

    エラーステータスコード説明句
    400Bad Request
    401Unauthorized
    402Payment Required
    403Forbidden
    404Not Found
    405Method Not Allowed
    406Not Acceptable
    407Proxy Authentication Required
    408Request Time-out
    409Conflict
    410Gone
    411Length Required
    412Precondition Failed
    413Request Entity Too Large
    414Request-URI Too Long
    415Unsupported Media Type
    416Requested Range Not Satisfiable
    417Expectation Failed
    422Unprocessible Entity
    423Locked
    424Failed Dependency
    500Internal Server Error
    501Not Implemented
    502Bad Gateway
    503Service Unavailable
    504Gateway Time-out
    505HTTP Version not supported
    507Insufficient Storage
    510Not 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ディレクティブの詳細については,マニュアル「Hitachi Web Server」を参照してください。