5.8.4 実行環境での設定(Smart Composer機能を使用しない場合)
ここでは,エラーページのカスタマイズの設定について説明します。
(1) 設定方法
エラーステータスコードとエラーページとの対応づけは,次のファイルで定義します。
-
workers.properties
worker.<ワーカ名>.delegate_error_codeキーに,エラーページに対応づけたい,エラーステータスコードを設定します。
workers.properties(ワーカ定義ファイル)については,「13.2.4 workers.properties(ワーカ定義ファイル)」を参照してください。
-
httpsd.conf
ErrorDocumentディレクティブで,エラーステータスコードと,対応するエラーページのファイル名を対応づけます。
httpsd.conf(HTTP Server定義ファイル)については,マニュアル「HTTP Server」を参照してください。
- 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」を参照してください。