アプリケーションのカスタム エラー処理

目次
sm1252sp1jjp
目次
カスタムエラー処理を使用すると、エラー情報を各自のアプリケーションと関連付けることができます。アプリケーションをユーザに合わせてカスタマイズするには、HTTP 500、HTTP 401、および HTTP 403 のエラー ページに表示される HTML テキストを変更するか、HTTP 401 エラーを除き、カスタム エラー ページまたはアプリケーションを示す URL にユーザをリダイレクトします。
カスタム エラー処理で設定できるエラーには、以下の種類があります。
  • サーバ エラー - エージェントは、HTTP 500 Web サーバ エラーが原因で表示されるエラー ページに、ServerErrorFile を使用します。これらのエラー コードは、カスタム エラー ページに対して渡されます。次のものが該当します。
    • Web エージェントが、必要な HTTP ヘッダの値を読み込むことができないために発生するエラー
    • 高度な認証用 cookie が解析されない、もしくはエラーのステータスを含めることができない場合のエラー
    • Web エージェントとポリシー サーバの接続エラー
  • アクセス拒否エラー - エージェントは、以下のパラメータで指定されたファイルを使用します。
    • Custom401ErrorFile
      401(権限不足)のブラウザ エラーが発生した場合に表示する、カスタマイズされた HTML ページを指定します。リソースにアクセスするための十分な権限がそのユーザにない場合、そのようなエラーが発生します。
      : 一部の Web サーバは、選択するカスタム テキストに独自のテキストを追加することがあります。そのため、それらのサーバ用のレスポンス ページはカスタマイズすることはできません。
      デフォルト:
      デフォルトなし (ブランク)。
  • cookie 要求エラー - RequireCookies パラメータが設定済みの場合、Web エージェントは基本認証を実施する間に cookie を設定します。基本認証情報と一緒に、ブラウザからこの cookie が返されなかった場合は、ReqCookieErrorFile パラメータによって指定されたエラー ページが返されます。エージェントはそのユーザがその Web サーバにアクセスすることを拒否します。
  • クロスサイト スクリプティング エラー - エージェントは、HTTP 403 クロスサイト スクリプティング エラーが原因で表示されるエラー ページに、
    CSSErrorFile
    エージェント設定パラメータの中で指定されたファイルを使用します。クロスサイト スクリプティングは、Web サイトのセキュリティを危うくします。
これらの HTML ファイルまたはアプリケーションを作成したら、Web エージェントに対してカスタム エラー ページまたは URL を指示します。
注:
Apache サーバがプロキシ サーバまたはリバース プロキシ サーバとして使用されている場合、Apache エージェントは、カスタムの
Single Sign-On
エラー ページではなく、Apache HTTP 標準の 500 エラー ページおよび 403 エラー ページを返します。
エラー処理をセットアップする方法
ユーザに対してアプリケーションがエラー メッセージを表示する方法をカスタマイズするには、次のいずれかのタスクを実行します。
  • 以下の HTTP エラーについて、ブラウザが表示する HTML テキストを追加します。
    • 500
    • 401
    • 403
  • カスタム エラー ページまたはアプリケーションを指す URL にユーザをリダイレクトします。
HTTP 500 および 403 エラーのみ: ユーザをある URL にリダイレクトするようにエージェントを設定すると、エージェントはエラー コードをその URL に付加します。以下は、追加された URL の例です。
?SMError=error_code, 
標準的な HTML エラー テキストを追加する場合、以下のタグ間の HTML コードのみを指定できます。
< body> 
< /body>
カスタム エラー ページまたは URL に移動するようにエージェントを設定するには、以下のタスクの
いずれか
を実行します。
  • テキスト ファイルが存在するパスを指定します。
  • それぞれのエージェント設定パラメータの値に URL を入力します。
エラーおよび他のイベント、そしてそれぞれのエージェント設定パラメータを次の表にリストします。
カスタム応答を設定するエラーのタイプ
設定パラメータの値
サーバ エラー
ServerErrorFile
アクセス拒否エラー
Custom401ErrorFile
Cookie エラー
ReqCookieErrorFile
CSS 文字エラー
CSSErrorFile
エラーファイルはアプリケーション内のどこにあってもかまいません。
重要
: 設定するすべての URL は非保護のカスタム エラー ページのままにしてください。
: アプリケーションの URL で HTML タグが必要な場合は、タグ内の文字をエンコードします。HTML 文字のエンコードの詳細については、http://www.cert.org/tech_tips/ を参照してください。
次の例は、エラーファイルの中でのファイルのパスと URL を示しています。この例の中で示す構文は、ローカルの設定ファイルに関するものです。また、エージェント設定オブジェクトでこれらのパラメータを設定できます。
ファイルのパス
CSSErrorFile="C:\error\error.txt" ReqCookieErrorFile="C:\custompages\error.txt" ServerErrorFile="C:\error\error.txt" Custom401ErrorFile="C:\error\accessdenied.txt"
URL:
CSSErrorFile="http://www.mycompany.com/error.jsp" ReqCookieErrorFile="http://www.myorg.com/error.asp" ServerErrorFile="http://www.mycompany.com/error.jsp"
カスタム 401 ページに関する注意
 
  • Custom401errorfile パラメータを URL に設定しないでください。
  • Custom401errorfile に対応する何らかの値(使用可能かどうかにかかわりなく)が存在している場合、エージェントは 60 秒ごとに、そのファイルが変更されたかどうかを調べます。しかし、このレスポンスは、性質上、スタティックであることが意図されています。たとえば、「
    user_name
    denied」というタイプの動的なメッセージを挿入することはできません。
    Custom401errorfile の値が存在する場合、その値の有効性にかかわりなく再チェックがトリガされるので、エージェントを再起動することなく、エラーを訂正できます。その訂正結果は、次のチェックの際に取り出されます。
  • カスタマイズ済みのメッセージ ファイルのテキストが、他のエラーによって公開されることはありません。そのファイルのパス名は、起動時、およびエラー発生時にログに記録されます。
  • カスタマイズの範囲は、Web サーバによって制限されることがあります。一部の Web サーバは、レスポンスに対して独自のテキストを追加することがあるからです。
  • カスタマイズ済みテキスト ファイルのサイズは、システムのファイル サイズの上限のみによって制限を受けます。