Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)

[目次][用語][索引][前へ][次へ]

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

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

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

(1) 設定方法

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

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

    表4-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」を参照してください。