プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Traffic Director構成ファイル・リファレンス
12c (12.2.1.3.0)
E90198-02
目次へ移動
目次

前
次

5 obj.confの事前定義済のサーバー・アプリケーション関数およびフィルタ

この章では、obj.confファイルで使用される事前定義済のサーバー・アプリケーション関数(SAF)およびフィルタについて説明します。obj.confファイルの構文および使用の詳細は、obj.confの構文および使用を参照してください。

各SAFには、obj.confディレクティブによって渡される独自のパラメータがあります。SAFは、サーバー変数を調査、変更または作成できます。各SAFは、成功、無効または失敗のいずれであるかを示す結果コードを返します。

この章のSAFは、コール元のディレクティブのタイプによってグループ化されています。事前定義SAFとサーバー構成要素のアルファベット順のリストは、サーバー構成要素および事前定義SAFのアルファベット順のリストを参照してください。

この章の内容は次のとおりです。

bucketパラメータ

bucketパラメータは、すべてのSAFに共通です。関数にbucket=bucket-nameパラメータを追加することで(bucket="cache-bucket"など)、obj.confファイルの任意のSAFのパフォーマンスを測定できます。バケット統計は、perfdumpユーティリティによって表示されますが、このユーティリティは、管理者コンソール、CLIまたはservice-dump SAFを通じて設定できます。

次のパフォーマンス・バケットが事前定義されています。

  • default-bucketは、ユーザー定義バケットまたは組込みバケットに関連付けられていない関数の統計を記録します。

  • all-requestsバケットは、default-bucketのものを含め、すべてのNSAPI SAFのperfdump統計を記録します。

AuthTrans

Authtransディレクティブは、Oracle Traffic Directorに対し、クライアントにリソースへのアクセスを許可する前に認可をチェックするように指示します。「AuthTrans」を参照してください。

この項では、次のAuthTransクラスの関数について詳細に説明します。

また、AuthTransディレクティブでは、次の共通SAFも有効です。

get-sslid

get-sslid関数は、現在のSSLセッションに固有の文字列を取得し、それをSession->clientパラメータ・ブロックのssl-id変数として格納します。

注意:

この関数は、下位互換性を維持する目的で提供されています。get-sslidの機能は、SSL接続の標準的な処理に組み込まれていました。

CGIの起動時に変数ssl-idが存在する場合、それはHTTPS_SESSIONID環境変数としてCGIに渡されます。get-sslid関数にパラメータはなく、常にREQ_NOACTIONが返されます。これはSSLが無効の場合効果はありません。

qos-handler

qos-handler関数は、仮想サーバーにおける現在のサービス品質(QoS)の統計を調査し、統計を記録して、エラーを返すことでQoSパラメータを適用します。この関数は、defaultオブジェクトで構成される最初のAuthTrans関数である必要があります。

AuthTrans fn= "qos-handler"

関連項目

webapp-firewall

webapp-firewall関数は、ルール・エンジンの有効化および無効化を制御します。仮想サーバー固有のobj.confにこの関数が存在する場合、その特定の仮想サーバーに対してルール・エンジンが有効であることを示します。

webapp-firewall関数はデフォルトで構成されないため、ルール・エンジンは無効になります。ルール・エンジンが無効の場合、webapp-firewall-ruleset要素により指定された構成ファイル内のディレクティブおよびルールのどちらも適用されません。

注意:

  • webapp-firewall-ruleset要素で指定された構成ファイル内でSecRuleEngineディレクティブが指定されている場合、これは無視されます。ただし、SecRuleEngineDetectionOnlyモードに設定されている場合、これは当てはまりません。

  • REQ_PROCEEDを返す可能性があるその他のSAFがある場合、SAF webapp-firewallはリストの最上部に置かれている必要があります。そうでない場合、webapp-firewallの実行はスキップされる可能性があります。

  • Webアプリケーション・ファイアウォールの各種ユースケースの詳細は、『Oracle Traffic Director管理者ガイド』の付録「Webアプリケーション・ファイアウォールの例およびユースケース」を参照してください。

表5-1に、webapp-firewall関数のパラメータを示します。これらのパラメータは、webapp-firewall-ruleset要素内で指定された同等の設定より優先されます。

表5-1 webapp-firewallのパラメータ

パラメータ webapp-firewall-ruleset内の同等の設定 説明

detect-only

DetectionOnly

(オプション)ルール・エンジンによりルールを適用するかどうかを示します。

trueは、ディレクティブは評価される必要があるが、評価の結果は適用しないことを示します。これは、SecRuleEngineディレクティブをDetectionOnlyに設定することと同等です。値falseは、ルールを適用する必要があることを示します。

このパラメータが指定されず、SecRuleEngineDetectionOnlyモードに設定されている( webapp-firewall-rulesetにより指定された構成ファイル内で)場合、detect-onlytrueに設定したときと動作が同じになります。

process-request-body

SecRequestBodyAccess

(オプション)リクエスト本文がWebアプリケーション・ファイアウォールによって処理されるかどうかを示します。server.xmlbody-buffer-sizeパラメータが正の値になるよう構成されている場合、Oracle Traffic Directorは、body-buffer-sizeパラメータにより定義された制限を上限として、リクエスト本文をメモリーにバッファします。このパラメータは、Webアプリケーション・ファイアウォールがバッファ済のリクエスト本文にアクセスするかどうかを決定します。値onは、リクエスト本文を処理することを示します。値offは、レスポンス本文を処理しないことを示します。デフォルト値は、webapp-firewall-ruleset要素により指定された構成ファイル内のSecRequestBodyAccessディレクティブ(ある場合)で設定されます。 SecRequestBodyAccessディレクティブが存在しない場合、値はoffとなります。

process-response-body

SecResponseBodyAccess

(オプション)レスポンス本文がWebアプリケーション・ファイアウォールによってバッファおよび処理されるかどうかを示します。レスポンス本文の処理が有効である場合、サーバーは、webapp-firewall-ruleset要素により指定された構成ファイル内のSecResponseBodyLimitディレクティブ(ある場合)で定義された制限を上限として、レスポンス本文全体をメモリーにバッファします。SecResponseBodyLimitディレクティブが存在しない場合、値は524288 (512KB)となります。値onは、レスポンス本文を処理することを示します。値offは、レスポンス本文を処理しないことを示します。デフォルト値は、webapp-firewall-ruleset要素により指定された構成ファイル内のSecResponseBodyAccessディレクティブ(ある場合)で設定されます。SecResponseBodyAccessディレクティブが存在しない場合、値はoffとなります。

NameTrans

NameTransディレクティブは、仮想URLをサーバーの物理ディレクトリに変換します。NameTransディレクティブは、defaultオブジェクト内に出現する必要があります。「NameTrans」を参照してください。

この項では、次のNameTransクラスの関数について詳細に説明します。

また、NameTransディレクティブでは、次の共通SAFも有効です。

assign-name

assign-name関数は、現在のリクエストに一致するobj.confファイル内のオブジェクトの名前を指定します。Oracle Traffic Directorは、defaultオブジェクトのディレクティブに優先して、名前を指定されたオブジェクトのディレクティブを処理します。

たとえば、defaultオブジェクトに次のディレクティブがあるとします。

NameTrans fn="assign-name" name="personnel" from="/personnel"

Oracle Traffic Directorがhttp://server-name/personnelに対するリクエストを受信したとします。このNameTransディレクティブを処理した後、Oracle Traffic Directorは、obj.confファイル内でpersonnelという名前のオブジェクトを検索し、引き続きpersonnelオブジェクト内のディレクティブを処理します。

assign-name関数は、REQ_NOACTIONを返します。

表5-2に、assign-name関数のパラメータを示します。

表5-2 assign-nameのパラメータ

パラメータ 説明

from

(オプション)影響を受けるパスを指定するワイルドカード・パターン。fromパラメータを指定しない場合、すべてのパスが影響を受けます。

name

このリクエストにディレクティブが適用されるobj.confファイル内の名前付きオブジェクトを追加で指定します。

find-pathinfo-forward

(オプション) Oracle Traffic Directorの関数assign-nameがデフォルトで実行するようにパスの最後から逆方向に検索するのではなく、パス内でntrans-baseの直後から順方向にPATHINFOを検索するようにOracle Traffic Directorに対して指示します。

find-pathinfo-forwardパラメータは、ntrans-baseパラメータがrq->varsに設定されていない場合、無視されます。ntrans-baseは、デフォルトで設定されています。

この機能によって、実行される統計の数が減少し、特定のURLではパフォーマンスが向上する可能性があります。

nostat

(オプション)指定したURLに対してOracle Traffic Directorがstatを実行することを抑止します。

NameTransの関数assign-nameにおけるnostat="virtual-path"の効果によって、Oracle Traffic Directorは、指定されたvirtual-pathに対するstatが失敗すると想定します。したがって、nostatは、システムにvirtual-pathのパスが存在しない場合にのみ使用します。たとえば、NSAPIプラグインのURLに対してnostatを使用し、それらのURLに対する不要なstatを回避してパフォーマンスを向上します。

デフォルトのPathCheckサーバー関数を使用する場合、ntrans-baseが設定されていれば(デフォルト条件)、Oracle Traffic Directorは、パス/ntrans-base/virtual-pathおよび/ntrans-base/virtual-path/*に対してstatを実行しません。ntrans-baseが設定されていなければ、URL /virtual-pathおよび/virtual-path/*に対するstatは実行されません。

# This NameTrans directive is in the default object.
NameTrans fn="assign-name" name="proxy-cache" from="/.proxycache"
...
<Object name="proxy-cache">
...additional directives..
</Object>

block-request-cookie

block-request-cookieは、1つのパラメータ、"name"を必要とします。この新しいSAFが導入されて、名前によるリクエストCookieがブロックされます。

表5-4に、block-request-cookie関数のパラメータを示します。

表5-3 block-request-cookieのパラメータ

パラメータ 説明

name

(オプション) obj.confファイル内の名前付きオブジェクトを追加で指定します。名前付きオブジェクトのディレクティブは、このリクエストに適用されます。

map

map関数は、リクエストURIを別のサーバーのURLにマップするため、リクエストに対して別のサーバーからサービスを提供するように指定できます。複数のサーバー全体で特定のURIのロード・バランシングを行うには、map関数とset-origin-server関数を組み合せて使用します。map関数は、クライアントがリクエストしているURIで特定の接頭辞を検索します。mapは、接頭辞を検出すると、その接頭辞をミラー・サイトの接頭辞に置き換えます。

表5-4に、map関数のパラメータを示します。

表5-4 mapのパラメータ

パラメータ 説明

from

マップするURI接頭辞。接頭辞の末尾にはスラッシュを含めないでください。

to

リクエストのマップ先となるURL接頭辞。接頭辞の末尾にはスラッシュを含めないでください。このパラメータに指定されたHostPortの値は、暗黙的に無視されます。

name

(オプション) obj.confファイル内の名前付きオブジェクトを追加で指定します。名前付きオブジェクトのディレクティブは、このリクエストに適用されます。

rewrite-host

(オプション)Host HTTPリクエスト・ヘッダーを、toパラメータで指定されたホストに一致するようにリライトするかどうかを示します。プロキシ・サーバーとオリジン・サーバーが仮想サーバーの同じセットにサービスを提供するリバース・プロキシ構成の場合、rewrite-host="false"を指定できます。デフォルト値: true。これは、Host HTTPリクエスト・ヘッダーをリライトすることを示します。

NameTrans fn="map" from="/" name="reverse-proxy" to="/"

reverse-map

reverse-map関数は、Oracle Traffic Directorがリバース・プロキシとして動作する場合に、HTTPレスポンス・ヘッダーをリライトします。reverse-mapは、特定のレスポンス・ヘッダーのfromパラメータで指定されたURL接頭辞を検索します。from接頭辞がレスポンス・ヘッダー値の先頭に一致する場合、reverse-mapは、一致する部分をto接頭辞に置き換えます。

表5-5に、reverse-map関数のパラメータを示します。

表5-5 reverse-mapのパラメータ

パラメータ 説明

from

リライトするURL接頭辞。

to

from接頭辞のかわりに置き換えるURL接頭辞。

rewrite-location

(オプション) location HTTPレスポンス・ヘッダーをリライトするかどうかを示します。デフォルト値: true (locationヘッダーをリライト)。

rewrite-content-location

(オプション) Content-Location HTTPレスポンス・ヘッダーをリライトするかどうかを示します。デフォルト値: true (Content-Locationヘッダーをリライト)。

rewrite-headername

(オプション) headername HTTPレスポンス・ヘッダーをリライトするかどうかを示します。headernameは、ユーザー定義のヘッダー名です。LocationおよびContent-Locationヘッダーは例外です。デフォルト値: false (headernameヘッダーをリライトしない)。

NameTrans fn="reverse-map" from="http://download.oracle.com/app/docs" to="/docs"

関連項目

rewrite

rewrite関数では、URIとファイル・システム・パス間で柔軟なマッピングが可能になります。

次の表に、rewrite関数のパラメータを示します。

表5-6 rewriteのパラメータ

パラメータ 説明

from

(オプション)リライトするリクエストのパスを指定するワイルドカード・パターン。デフォルトではすべてのパスに一致します。

root

(オプション)有効なルート・ドキュメント・ディレクトリへのファイル・システム・パス。

name

(オプション)このリクエストにディレクティブが適用されるobj.conf内のオブジェクトの名前。

path

(オプション)リライトされる部分パス。空でない場合、パスはスラッシュ(/)で始める必要があります。

次のobj.confコードは、URI /~user/index.htmlに対するリクエストをファイル・システム・パス/home/user/public_html/index.htmlにマップします。

<If $path =~ "^/~([^/]+)(|/.*)$">
NameTrans fn="rewrite"
          root="/home/$1/public_html"
          path="$2"
</If>

関連項目

sed-request-header

sed-request-headerは、リクエスト・ヘッダーをリライトし、"name"および"sed"の2つのパラメータが必要です。

次の表に、sed-request-header関数のパラメータを示します。

表5-7 sed-request-headerのパラメータ

パラメータ 説明

name

指定された変数のヘッダー名。

sed

指定した変数のsed式の値。

次のようにして、指定したリクエスト・ヘッダーの値をリライトします NameTrans fn="sed-request=header" name="x-someheader" sed="s/abcd/123/g"

strip-params

strip-params関数は、埋め込まれたセミコロン区切りのパラメータをパスから削除します。たとえば、/dir1;param1/dir2というURIは、/dir1/dir2というパスになります。使用する場合、strip-params関数は、最初のNameTransディレクティブとしてリストする必要があります。

NameTrans fn="strip-params"

PathCheck

PathCheckディレクティブは、NameTransステップの後に返されるURLをチェックし、指定したオリジン・サーバーへのアクセスをクライアントが許可されているかどうかを確認します。詳細は、PathCheckを参照してください。

この項では、次のPathCheckクラスの関数について詳細に説明します。

また、PathCheckディレクティブでは、次の共通SAFも有効です。

check-request-limits

check-request-limits関数は、特定の属性(クライアントIPアドレスなど)に一致する着信リクエストを監視し、構成可能な時間間隔において1秒当たりの平均リクエストを計算します。監視対象属性に一致するリクエストが、構成されたしきい値を超えると、後続の一致するリクエストはリクエスト・レートが低下するまでサービスを提供されません。この関数を使用して、サービス拒否攻撃の可能性を検出します。

max-rpsまたはmax-connectionsを指定する必要があり、指定しないとcheck-request-limitsでは何も実行されません。監視する1つ以上の属性を入力しない場合、関数によってすべてのリクエストが監視されます。

デフォルトでは、リクエストのエントリは消去前に関数により300秒(5分)間保持されます。この時間を調整するには、magnus.confファイルのinit-request-limits SAFを使用します。

表5-8に、check-request-limits関数のパラメータを示します。

表5-8 check-request-limitsのパラメータ

パラメータ 説明

max-rps

(オプション)一致するリクエストの1秒当たりのしきい値。このしきい値を超えると、基準に一致する後続の接続にサービスが提供されません。使用可能なしきい値はサイトごとに大きく変わる可能性があるため、このパラメータにデフォルト値はありません。

max-connections

(オプション)一致する同時接続の最大数。Oracle Traffic Directorが基準に一致するリクエストを受信し、その場合に現在処理中の一致するリクエストの数がこの数以上であると、リクエストは拒否されます。

この数は、任意の時点での現行リクエストであり、intervalパラメータとは無関係であることに注意してください。同時リクエストの数がこの制限を下回ると、すぐに一致する新しいリクエストが処理されます。

使用可能な値はサイトごとに大きく変わる可能性があるため、このパラメータにデフォルト値はありません。

interval

(オプション)1秒当たりの平均リクエストを計算するための時間間隔(秒単位)。max-rpsの制限は、次のリクエスト・レートが計算されるまで適用されません。潜在的な攻撃者は、この間隔中は無制限にリクエストに対するサービスを受けることができるため、この間隔の長さと1秒当たりの最大リクエストを再計算する場合のパフォーマンス上のコストを比較して調整してください。デフォルト値: 30秒。

continue

(オプション)ブロックされたリクエスト・タイプを再度サービス対象とするために、一致する必要のある条件。

有効な値は次のとおりです。

  • silence - サービスを再開するには、拒否されたリクエストが後続の間隔で0まで低下する必要があります。

  • threshold - サービスを再開するには、拒否されたリクエストがmax-rpsの値を下回る必要があります。

デフォルト値: threshold

error

(オプション)ブロックされたリクエストに使用するHTTPステータス・コード。デフォルト値: 503 (Service Unavailableエラー)。

monitor

(オプション)監視するリクエスト属性。リクエスト・レートは、このパラメータの値で名前を指定されたバケットで追跡されます。monitorパラメータを指定しない場合、一致するリクエストは、無名(匿名)バケットで追跡されます。これらのバケットは、標準のobj.confbucketパラメータで指定するバケットとは異なることに注意してください。

monitorパラメータの値は固定文字列にすることも可能ですが、事前定義変数(monitor="$ip"など)を使用すると非常に便利です。複数の変数をコロンで区切って、たとえばmonitor="$ip:$uri"のように指定することもできます。

事前定義変数のリストは、事前定義変数を参照してください

次の例では、デフォルトの30秒間隔で、最大リクエスト・レートとして1秒当たり10リクエストにクライアントIPを制限します。

PathCheck fn="check-request-limit" monitor="$ip" max-rps="10"

次の例では、Perl CGIへのアクセス時に、最大リクエスト・レートとして1秒当たり10リクエストにクライアントIPを制限します。他のタイプのリクエストは制限されません。

<If path = "*.pl">
PathCheck fn="check-request-limits" monitor="$ip" max-rps="10"
</If>

「If」タグの使用の詳細は、If、ElseIfおよびElseを参照してください

次の例では、Perl CGIに対するリクエストを1秒当たり10リクエストにグローバルに制限します。特定のmonitorパラメータは指定されません。

<If path = "*.pl">
PathCheck fn="check-request-limits" max-rps="10"
</If>

次の例では、クライアントIPが1秒当たり10を超えるPerl CGIリクエストを生成しないように、または1秒当たり5を超えるJSPリクエストを生成しないように制限します。PerlとJSPの合計を個別に追跡するには、指定するmonitorパラメータに固定文字列識別子とクライアントIP変数の両方を含めます。

<If path = "*.pl">
PathCheck fn="check-request-limits" max-rps="10" monitor="perl:$ip"
</If>
<If path = "*.jsp">
PathCheck fn="check-request-limits" max-rps="5" monitor="jsp:$ip"
</If>

次の例では、所定の時間において1つのクライアントIPを5以下の接続に制限します。

PathCheck fn="check-request-limits" max-connections="2" monitor="$ip"

deny-existence

deny-existence関数は、クライアントが指定したパスへのアクセスを試行したときに、404 Not Foundメッセージを送信します。

表5-9に、deny-existence関数のパラメータを示します。

表5-9 deny-existenceのパラメータ

パラメータ 説明

path

(オプション)隠蔽するファイル・システム・パスのワイルドカード・パターン。パスに一致しない場合、関数は何も実行せず、REQ_NOACTIONを返します。パスが指定されない場合、一致しているとみなされます。

bong-file

(オプション) 404 Not Foundメッセージで応答するかわりに送信するファイルを指定します。値は、ファイル・システムのフルパスです。

PathCheck fn="deny-existence" path="/opt/oracle/webserver7/docs/private"

PathCheck fn="deny-existence" bong-file="/svr/msg/go-away.html"

get-client-cert

get-client-cert関数は、SSL3セッションから認証済のクライアント証明書を取得します。これは、すべてのHTTPメソッドに適用されるか、指定したパターンに一致するものだけに適用されます。これは、Oracle Traffic DirectorでSSLが有効な場合にのみ動作します。

証明書が存在するか、SSL3セッションから取得されると、関数はREQ_NOACTIONを返し、リクエストは処理を継続できます。それ以外の場合は、REQ_ABORTEDを返し、プロトコル・ステータスを403 forbiddenに設定するため、リクエストは失敗します。

次の表に、get-client-cert関数のパラメータを示します。

表5-10 get-client-certのパラメータ

パラメータ 説明

dorequest

(オプション)証明書を取得するか、その存在についてテストするのみかを制御します。

  • 1の場合、Oracle Traffic Directorがまだクライアント証明書を保持していなければ、SSL3ハンドシェイクをやり直してクライアント証明書を取得するように関数に指示します。これにより、通常、クライアントでは、クライアント証明書を選択するためのダイアログ・ボックスがユーザーに表示されます。最初のハンドシェイクでリクエスト済の場合や、キャッシュされたSSLセッションが再開された場合、Oracle Traffic Directorはすでにクライアント証明書を保持している可能性があります。

  • 0の場合、Oracle Traffic Directorがまだクライアント証明書を保持していなければ、SSL3ハンドシェイクをやり直さないように関数に指示します。

    証明書がクライアントから取得され、Oracle Traffic Directorによる検証に成功すると、DERエンコードのX.509証明書のASCII BASE64エンコーディングが、Request->vars pblockのパラメータauth-certに配置され、関数はREQ_PROCEEDを返し、リクエストは処理を継続できます。

デフォルト値: 0

require

(オプション)クライアント証明書の取得に失敗した場合にHTTPリクエストを中断するかどうかを制御します。

  • 1の場合、dorequestを処理した後にクライアント証明書が存在しなければ、HTTPリクエストを中断するように関数に指示します。この場合、HTTPステータスはPROTOCOL_FORBIDDENに設定され、関数はREQ_ABORTEDを返します。

  • 0の場合、dorequestを処理した後にクライアント証明書が存在しなければ、REQ_NOACTIONを返すように関数に指示します。

デフォルト値: 1

method

(オプション)関数を適用するHTTPメソッドのワイルドカード・パターンを指定します。methodが存在しない場合、関数はすべてのリクエストに適用されます。

# Get the client certificate from the session. 
# If a certificate is not already associated with the session, request one.
# The request fails if the client does not present a 
#valid certificate.
PathCheck fn="get-client-cert" dorequest="1"

nt-uri-clean

(Windowsのみ) nt-uri-clean関数は、物理パスに\.\\..\または\\が含まれるリソースに対するアクセスを拒否します(これらはセキュリティ問題を引き起こす可能性があります)。

表5-11に、nt-uri-clean関数のパラメータを示します。

表5-11 nt-uri-cleanのパラメータ

パラメータ 説明

tildeok

(オプション)存在する場合、URIでチルダ文字(~)が許可されます。たとえば、longfi~1.htmlongfilename.htmを参照する一方で、適切なACLチェックを経由しないWindowsプラットフォームでは、これは潜在的なセキュリティ・リスクとなります。存在する場合、//シーケンスが許可されます。

dotdirok

(オプション)存在する場合、/./シーケンスが許可されます。

PathCheck fn="nt-uri-clean"

関連項目

ssl-logout

ssl-logout関数は、Oracle Traffic DirectorのSSLセッション・キャッシュの現在のSSLセッションを無効化します。これは、現在のリクエストには影響しませんが、次回クライアントが接続を行ったときに、新しいSSLセッションが作成されます。SSLが有効な場合、この関数は、セッション・キャッシュ・エントリを無効化した後、REQ_PROCEEDを返します。SSLが無効な場合、REQ_NOACTIONを返します。

unix-uri-clean

(UNIXのみ) unix-uri-clean関数は、物理パスに/.//../または//が含まれるリソースに対するアクセスを拒否します(これらはセキュリティ問題を引き起こす可能性があります)。

次の表に、unix-uri-clean関数のパラメータを示します。

表5-12 unix-uri-cleanのパラメータ

パラメータ 説明

dotdirok

存在する場合、/./シーケンスが許可されます。

PathCheck fn="unix-uri-clean"

関連項目

ObjectType

ObjectTypeディレクティブは、リクエストへのレスポンスとしてクライアントに送信する必要のあるファイルのMIMEタイプを決定します。「ObjectType」を参照してください。

この項では、次のObjectTypeクラスの関数について詳細に説明します。

また、ObjectTypeディレクティブでは、次の共通SAFも有効です。

block-auth-cert

block-auth-cert関数は、Oracle Traffic Directorに対し、独自のProxy-auth-certヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-auth-cert"

関連項目

block-cache-info

block-cache-info関数は、Oracle Traffic Directorに対し、独自のProxy-cache-infoヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-cache-info"

関連項目

block-cipher

block-cipher関数は、Oracle Traffic Directorに対し、独自のProxy-cipherヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-cipher"

関連項目

block-ip

block-ip関数は、Oracle Traffic Directorに対し、独自のClient-ipヘッダー(またはWebLogic Serverの場合はWl-proxy-client-ipヘッダー)を生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-ip"

関連項目

block-issuer-dn

block-issuer-dn関数は、Oracle Traffic Directorに対し、独自のProxy-issuer-dnヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-issuer-dn"

関連項目

block-jroute

block-jroute関数は、Oracle Traffic Directorに対し、独自のProxy-jrouteヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-jroute"

関連項目

block-keysize

block-keysize関数は、Oracle Traffic Directorに対し、独自のProxy-keysizeヘッダー(またはWebLogic Serverの場合はWl-proxy-client-keysizeヘッダー)を生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-keysize"

関連項目

block-proxy-agent

block-proxy-agent関数は、Oracle Traffic Directorに対し、独自のProxy-agentヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-proxy-agent"

関連項目

block-secret-keysize

block-secret-keysize関数は、Oracle Traffic Directorに対し、独自のProxy-secret-keysizeヘッダー(またはWebLogic Serverの場合はWl-proxy-client-secretkeysizeヘッダー)を生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-secret-keysize"

block-ssl

block-ssl関数は、Oracle Traffic Directorに対し、独自のProxy-sslヘッダー(またはWebLogic Serverの場合はWl-proxy-sslヘッダー)を生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-ssl"

関連項目

block-ssl-id

block-ssl-id関数は、Oracle Traffic Directorに対し、独自のProxy-ssl-idヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-ssl-id"

関連項目

block-user-dn

block-user-dn関数は、Oracle Traffic Directorに対し、独自のProxy-user-dnヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-user-dn"

関連項目

block-via

block-via関数は、Oracle Traffic Directorに対し、独自のViaヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-via"

関連項目

block-xforwarded-for

block-xforwarded-for関数は、Oracle Traffic Directorに対し、独自のX-forwarded-forヘッダーを生成してオリジン・サーバーに転送しないよう指示します。さらに、着信リクエストにこのヘッダーが含まれる場合、SAFはOracle Traffic Directorに対し、このヘッダーが含まれる着信リクエストをオリジン・サーバーに受け渡すことを許可します。

ObjectType fn="block-xforwarded-for"

forward-auth-cert

forward-auth-cert関数は、Oracle Traffic Directorに対し、ヘッダーProxy-auth-cert内にクライアントのSSL/TLS証明書に関する情報を生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーProxy-auth-certが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-13に、forward-auth-cert関数のパラメータを示します。

表5-13 forward-auth-certのパラメータ

パラメータ 説明

hdr

(オプション) BASE64エンコーディングでクライアントのDERエンコードのSSL/TLS証明書を伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Proxy-auth-cert

関連項目

forward-cache-info

forward-cache-info関数は、Oracle Traffic Directorに対し、ヘッダーCache-info内にローカル・ヒットに関する情報を生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーCache-infoが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-14に、forward-cache-info関数のパラメータを示します。

表5-14 forward-cache-infoのパラメータ

パラメータ 説明

hdr

(オプション)ローカル・キャッシュ・ヒットに関する情報を伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Cache-info

関連項目

forward-cipher

forward-cipher関数は、Oracle Traffic Directorに対し、ヘッダーProxy-cipher内にクライアントのSSL/TLS暗号スイートに関する情報を生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーProxy-cipherが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-15に、forward-cipher関数のパラメータを示します。

表5-15 forward-cipherのパラメータ

パラメータ 説明

hdr

(オプション)クライアントのSSL/TLS暗号スイートの名前を伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Proxy-cipher

関連項目

forward-ip

forward-ip関数は、Oracle Traffic Directorに対し、ヘッダーClient-ip(またはWebLogic Serverの場合はWI-proxy-client-ip)内にクライアントのIPアドレスを生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーClient-ip(またはWebLogic Serverの場合はWI-proxy-client-ip)が含まれる場合、このSAFによりOracle Traffic Directorは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。次に、Oracle Traffic Directorは適切な値でこのヘッダーを生成し挿入してから、オリジン・サーバーにリクエストを転送します。

表5-16に、forward-ip関数のパラメータを示します。

表5-16 forward-ipのパラメータ

パラメータ 説明

hdr

(オプション)クライアントのIPアドレスを伝達するために使用するHTTPリクエスト・ヘッダーの名前。

デフォルト値: オリジン・サーバーが非WLSである場合はClient-ip、オリジン・サーバーがWLSである場合はWI-proxy-client-ip

関連項目

forward-issuer-dn

forward-issuer-dn関数は、Oracle Traffic Directorに対し、ヘッダーProxy-issuer-dn内にクライアントのSSL/TLS証明書に関する情報を生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーProxy-issuer-dnが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-17に、forward-issuer-dn関数のパラメータを示します。

表5-17 forward-issuer-dnのパラメータ

パラメータ 説明

hdr

(オプション)クライアントのSSL/TLS証明書の発行者の識別名を伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Proxy-issuer-dn

関連項目

forward-jroute

forward-jroute関数は、Oracle Traffic Directorに対し、ヘッダーProxy-jroute内にリクエストのルーティングに関する情報を生成してオリジン・サーバーに転送するよう指示します。Proxy-jrouteヘッダー・フィールドは、セッションの固定性を実装するため、set-origin-server関数と一部のサーブレット・コンテナによって使用されます。着信リクエストにヘッダーProxy-jrouteが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-18に、forward-jroute関数のパラメータを示します。

表5-18 forward-jrouteのパラメータ

パラメータ 説明

hdr

(オプション)リクエスト・ルーティング情報を伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Proxy-jroute

関連項目

forward-keysize

forward-keysize関数は、Oracle Traffic Directorに対し、ヘッダーProxy-keysize内にクライアントのSSL/TLSの鍵サイズに関する情報を生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーProxy-keysizeが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-19に、forward-keysize関数のパラメータを示します。

表5-19 forward-keysizeのパラメータ

パラメータ 説明

hdr

(オプション)クライアントのSSL/TLSの鍵サイズを伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Proxy-keysize

関連項目

forward-proxy-agent

forward-proxy-agent関数は、Oracle Traffic Directorに対し、ヘッダーProxy-agent内にバージョン情報を生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーProxy-agentが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-20に、forward-proxy-agent関数のパラメータを示します。

表5-20 forward-proxy-agentのパラメータ

パラメータ 説明

hdr

(オプション)サーバー・バージョンを伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Proxy-agent

関連項目

forward-secret-keysize

forward-secret-keysize関数は、Oracle Traffic Directorに対し、ヘッダーProxy-secret-keysize(またはWebLogic Serverの場合はWl-proxy-client-secretkeysize)内にクライアントのSSL/TLSの秘密鍵サイズに関する情報を生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーProxy-secret-keysize(またはWebLogic Serverの場合はWl-proxy-client-secretkeysize)が含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-21 forward-secret-keysizeのパラメータ

パラメータ 説明

hdr

(オプション)クライアントのSSL/TLS秘密鍵を伝達するために使用するHTTPリクエスト・ヘッダーの名前。

デフォルト値: オリジン・サーバーが非WLSである場合はProxy-secret-keysize、オリジン・サーバーがWLSである場合はWl-proxy-client-secretkeysize

関連項目

forward-ssl

forward-ssl関数はサーバーに対し、リモート(オリジン)サーバーに情報を転送し、クライアントがSSL接続を介してOracle Traffic Directorにリクエストを送信したかどうかをチェックするよう指示します。その結果、クライアントが非SSL接続を使用してOTDに接続している場合、このヘッダーには値Falseが設定されます。同様に、クライアントがSSL接続を使用してOTDに接続している場合、このヘッダーには値Trueが設定されます。着信リクエストにヘッダーProxy-ssl(またはWebLogic Serverの場合はWI-proxy-ssl)が含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-22 forward-ssl

パラメータ 説明

hdr

クライアントとOTDとの接続がSSLを介して行われたことを伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: オリジン・サーバーが非WLSである場合はProxy-ssl、オリジン・サーバーがWLSである場合はWI-proxy-ssl

ObjectType fn="forward-ssl"

関連項目

forward-ssl-id

forward-ssl-id関数は、Oracle Traffic Directorに対し、ヘッダーProxy-ssl-id内にクライアントのSSL/TLSセッションIDに関する情報を生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーProxy-ssl-idが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-23に、forward-ssl-id関数のパラメータを示します。

表5-23 forward-ssl-idのパラメータ

パラメータ 説明

hdr

(オプション)クライアントのSSL/TLSセッションIDを伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Proxy-ssl-id

関連項目

forward-user-dn

forward-user-dn関数は、Oracle Traffic Directorに対し、ヘッダーProxy-user-dn内にクライアントのSSL/TLS証明書のサブジェクトの識別名に関する情報を生成してオリジン・サーバーに転送するよう指示します。着信リクエストにヘッダーProxy-user-dnが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-24に、forward-user-dn関数のパラメータを示します。

表5-24 forward-user-dnのパラメータ

パラメータ 説明

hdr

(オプション)クライアントのSSL/TLS証明書のサブジェクトの識別名を伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Proxy-user-dn

関連項目

forward-via

forward-via関数は、Oracle Traffic Directorに対し、ヘッダーVia内にリクエストのルーティングに関する情報を生成し、HTTP/1.1 Via形式を使用してオリジン・サーバーに転送するよう指示します。HTTP/1.1 Viaヘッダー・フィールドは、リクエストのルーティングに関連するプロキシ・サーバーとプロトコル・バージョンを記録します。着信リクエストにヘッダーViaが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-25に、forward-via関数のパラメータを示します。

表5-25 forward-viaのパラメータ

パラメータ 説明

hdr

(オプション)ルーティング情報を伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: Via

関連項目

forward-xforwarded-for

forward-xforwarded-for関数は、Oracle Traffic Directorに対し、ヘッダーX-Forwarded-For内にユーザー指定のX-Forwarded-Forヘッダー値に関する情報を生成してオリジン・サーバーに転送するよう指示します。関数が有効な場合、Oracle Traffic Directorは、X-Forwarded-Forヘッダー値をオリジン・サーバーに送信します(値は、IPアドレスのカンマ区切りリストです)。このSAFはデフォルトで有効です。着信リクエストにヘッダーX-forwarded-forが含まれる場合、このSAFによりOTDは、オリジン・サーバーに転送されるリクエストからヘッダーを削除します。

表5-26 forward-xforwarded-for

パラメータ 説明

hdr

(オプション)ルーティング情報を伝達するために使用するHTTPリクエスト・ヘッダーの名前。デフォルト値: X-forwarded-for

ObjectType fn="forward-xforwarded-for"

関連項目

http-client-config

http-client-config関数は、Oracle Traffic DirectorのHTTPクライアントを構成します。

表5-27に、http-client-config関数のパラメータを示します。

表5-27 http-client-configのパラメータ

パラメータ 説明

always-use-keep-alive

(オプション) HTTPクライアントですべてのタイプのリクエストに既存の永続接続を再利用するかどうかを示します。デフォルト値: WLSオリジン・サーバーはtrueです。これは、デフォルトでGET/HEAD/OPTIONSリクエストでキープ・アライブを使用することを示します。

exclude-escape-chars

(オプション) Oracle Traffic Directorでエスケープしない文字のリストを指定します。アプリケーション・サーバーにデプロイされた様々なアプリケーションで、一定の文字のエスケープは禁止されます。このパラメータを指定しない場合、Oracle Traffic Directorによってそれらの文字がエスケープされる可能性があります。次に例を示します。

ObjectType fn="http-client-config" exclude-escape-chars="%&"

keep-alive

(オプション) HTTPクライアントで永続接続を使用するかどうかを示します。デフォルト値: true

keep-alive-timeout

(オプション)永続接続のオープン状態を維持する最大秒数。デフォルト値: 29

log-headers

(オプション) Oracle Traffic Directorがオリジン・サーバーを対象に送受信したリクエスト・ヘッダーまたはレスポンス・ヘッダーをサーバー・ログに記録するかどうかを指定します。このパラメータは、診断目的で役立ちます。

次に例を示します。

ObjectType fn="http-client-config" log-headers="true"

protocol

(オプション) HTTPプロトコルのバージョン文字列。デフォルトで、HTTPクライアントは、HTTPリクエストのコンテンツに基づいてHTTP/1.0またはHTTP/1.1を使用します。一般的には、プロトコルの相互運用性に関する特定の問題が発生しなければ、protocolパラメータは使用しません。

proxy-agent

(オプション) proxy-agent HTTPリクエスト・ヘッダーの値。デフォルトは、Webサーバーの製品名とバージョンを含む文字列です。

proxy-buffer-size

(オプション)データをクライアントに送信する前に格納するためにOracle Traffic Directorで使用するバッファのサイズを指定します。バッファ・サイズが大きくなるほど、writeシステム・コールの数は少なくなります。デフォルトでは、プロキシ・バッファ・サイズの値は16KBです。値を32KBに変更するには、パラメータを次のように使用します。

ObjectType fn="http-client-config" proxy-buffer-size="32768"

再試行

(オプション)クライアントにエラーを送信する前にオリジンWebサーバーからコンテンツを取得するための再試行回数。GET/HEAD/OPTIONSリクエストのみが再試行されます。GETリクエストに本文が関連付けられている場合、それらのリクエストは再試行されません。許容可能な値は0から100です。値0を指定すると、再試行は許されません。デフォルト値: 9

ObjectType fn="http-client-config" keep-alive="false"

proxy-cache-config

proxy-cache-config関数は、リバース・プロキシのキャッシュ設定を構成します。

表5-28に、proxy-cache-config関数のパラメータを示します。

表5-28 proxy-cache-configのパラメータ

パラメータ データ型 説明 デフォルト値

enabled

Boolean

リバース・プロキシ・コンテンツのキャッシュを有効化または無効化します。

false

max-reload-interval

Integer

(オプション)最新であることを連続的にチェックする間隔として許容される最大時間(秒単位)を指定します。0 (デフォルト値)に設定すると、ドキュメントがアクセスされるたびにチェックが実行され、last-modified-factor値の効果はなくなります。

注意: この要素の値を設定すると、サーバーは、HTTP仕様の規定内容とは異なる動作をします。

3600

min-reload-interval

Integer

キャッシュされたドキュメントが最新であることを連続的にチェックする間隔として許容される最小時間(秒単位)を指定します。

0

last-modified-factor

Float

(オプション)失効時間の見積りに使用されるファクタを表します。これにより、最終変更時刻に基づいてドキュメントが最新状態である期間が定義されます。最終変更後に経過した時間には、このファクタが乗じられます。結果として、ドキュメントの未変更状態が続く可能性のある推定時間が得られます。値0を指定すると、この関数は無効になります。キャッシュ・システムは、ほとんど使用できない明示的な失効時間情報のみを使用します。明示的なCache-ControlまたはExpires HTTPヘッダーのみが使用されます。max-reload-interval0に設定されている場合、この値は無効です。

0

min-object-size

Integer

キャッシュされるドキュメントの最小サイズ(バイト単位)。これは、よりサイズの大きいドキュメントのみをキャッシュする場合に便利です。

0

max-object-size

Integer

指定された値にキャッシュする文書の最大サイズを制限します。この値は、proxy-cache->max-heap-object-sizeserver.xmlに指定された最大値を超えることはできません。

proxy-cache->max-heap-object-size

query-maxlen

Integer

問合せ文字列(キャッシュ可能なURL末尾の?string部分)の文字数を指定します。同じ問合せが複数のユーザーによって正確に同じ形式で繰り返されることはめったにないため、通常、これらをキャッシュすることは推奨されません。

0

compression

Boolean

このパラメータをtrueに設定すると、プロキシは、ドキュメントを格納する前に圧縮します。これにより、キャッシュ領域が節約されるため、指定したキャッシュ・サイズでより多くのエントリを格納できます。圧縮を受け入れるクライアントの場合、圧縮コンテンツが送信されます。他のクライアントの場合、サーバーは、コンテンツを動的に解凍します。キャッシュでは、同じコンテンツの2つのコピーは格納されません。

false

cache-https

Boolean

このパラメータをtrueに設定すると、HTTPS接続からのレスポンスがキャッシュされます。cache-httpsfalseの場合、HTTPSオリジン・サーバー接続からのレスポンスは、HTTPヘッダーにかかわらずキャッシュされません。

false

ObjectType fn="proxy-cache-config" enable="1" max-reload-interval=300 min-reload-interval=60

proxy-cache-override-http

proxy-cache-override-http関数は、特定のHTTPキャッシュ・ルールをオーバーライドするリバース・プロキシのキャッシュ・パラメータを構成します。

表5-29に、proxy-cache-override-http関数のパラメータを示します。

表5-29 proxy-cache-override-httpのパラメータ

パラメータ データ型 説明 デフォルト値

ignore-server-no-cache

Boolean

このパラメータをtrueに設定すると、オリジン・サーバーからのpragma: no-cacheまたはcache-control: no-cacheヘッダーは無視され、レスポンスはキャッシュされます。この動作は、HTTP標準とは異なります。

false

ignore-server-no-store

Boolean

このパラメータをtrueに設定すると、オリジン・サーバーからのcache-control: no-storeヘッダーは無視され、レスポンスはキャッシュされます。この動作は、HTTP標準とは異なります。

false

ignore-private

Boolean

このパラメータをtrueに設定すると、オリジン・サーバーからのcache-control: privateヘッダーは無視され、レスポンスはキャッシュされます。この動作は、HTTP標準とは異なります。

false

ignore-client-no-cache

Boolean

trueに設定すると、クライアントからのpragma: no-cacheまたはcache-control: no-cacheヘッダーは無視され、リクエストはキャッシュによって対応されます。この動作は、HTTP標準とは異なります。

false

override-expire

Boolean

このパラメータをtrueに設定すると、Expiresヘッダーの値およびCache-Control: max-ageの値に優先してmin-reload-intervalが適用されます。この動作は、HTTP標準とは異なります。

false

override-lastmod

Boolean

このパラメータをtrueに設定すると、Last-modifiedヘッダーの値に優先してmin-reload-intervalが適用されます。この動作は、HTTP標準とは異なります。

false

reload-into-ims

Boolean

このパラメータをtrueに設定すると、クライアントからの再ロード・リクエストは、If-modified-sinceヘッダーを含む条件付きのGETリクエストに変換されます。この動作は、HTTP標準とは異なります。

true

require-expires

Boolean

このパラメータをtrueに設定すると、Expiresヘッダーのないレスポンスはキャッシュされません。この動作は、HTTP標準とは異なります。

false

without-lastmod

Boolean

このパラメータをtrueに設定すると、Last-modifiedヘッダーの欠落は無視され、レスポンスはキャッシュされます。この動作は、HTTP標準とは異なります。

false

<If uri =~ '^/images/'>    ObjectType fn="proxy-cache-config" enable="1" max-reload-interval=600
    ObjectType fn="proxy-cache-override-http" ignore-client-no-cache="true"
</If>
<Else uri =~ '^/myapp/'>
    ObjectType fn="proxy-cache-config" enable="1" max-reload-interval=120
</Else>

proxy-websocket-config

proxy-websocket-config SAFは、WebSocketアップグレードを無効にし、WebSocket接続のidle-timeoutを変更します。WebSocketアップグレードはデフォルトで有効です。WebSocketアップグレードを無効にする必要がある場合、enabledoffに指定してproxy-websocket-configを使用できます。proxy-websocket-configディレクティブは、ルートではルート・オブジェクトに、また仮想サーバー全体ではデフォルト・オブジェクトに存在します。これにより管理者は、WebSocketトラフィックを無効にしたり、特定のルートまたは仮想サーバー全体に異なるidle-timeout値を設定できます。

表5-30に、proxy-cache-override-http関数のパラメータを示します。

表5-30 proxy-websocket-configのパラメータ

パラメータ デフォルト値

enabled

onまたはoff

idle-timeout

デフォルトは、tcp-thread-pool要素に指定されたタイムアウト値です。

ObjectType fn="proxy-websocket-config"

reverse-block-date

reverse-block-date SAFは、オリジン・サーバーから送信されるDateヘッダーをブロックし、Oracle Traffic Directorが独自のDateヘッダーを生成してレスポンスに挿入するようにします。

ObjectType fn="reverse-block-date"

関連項目

reverse-block-server

reverse-block-server SAFは、オリジン・サーバーから送信されるServerヘッダーをブロックし、Oracle Traffic Directorが独自のServerヘッダーをレスポンスに挿入するようにします。

ObjectType fn="reverse-block-server"

reverse-forward-date

reverse-forward-date SAFは、オリジン・サーバーから送信されるDateヘッダーを転送します。Oracle Traffic Directorでは、これはデフォルトの動作です。

ObjectType fn="reverse-forward-date"

関連項目

reverse-forward-server

reverse-forward-server SAFは、オリジン・サーバーから送信されるServerヘッダーを転送します。オリジン・サーバーがServerヘッダーを生成しない場合、Oracle Traffic Directorが独自のServerヘッダーを生成して使用します。これはデフォルトの動作です。

ObjectType fn="reverse-forward-server"

関連項目

set-basic-auth

set-basic-auth関数により、サーバーがHTTPリクエストを送信する際に使用するHTTP Basic認証資格証明を設定できます。set-basic-authを使用して、リモート・オリジン・サーバーまたはプロキシ・サーバーに対して認証します。

次の表に、set-basic-auth関数のパラメータを示します。

表5-31 set-basic-authのパラメータ

パラメータ 説明

user

認証するユーザーの名前。

password

認証するユーザーのパスワード。

hdr

(オプション)資格証明を伝達するために使用するHTTPリクエスト・ヘッダーの名前。

bucket

(オプション)すべてのobj.confの関数に共通です。パフォーマンスを監視するバケットを追加します。「bucketパラメータ」を参照してください。

ObjectType fn="set-basic-auth" user="admin" password="secret" hdr="proxy-authorization"

set-cache-control

set-cache-control関数では、クライアントに戻されるレスポンスのHTTPキャッシュ・ポリシーを指定できます。

次の表に、set-cache-control関数のパラメータを示します。

表5-32 set-cache-controlのパラメータ

パラメータ 説明

control

HTTPキャッシュ制御ディレクティブ。複数のディレクティブはカンマで区切ります。

次の表に、HTTP/1.1プロトコルで定義されている有益なキャッシュ制御ディレクティブの一部を示します。

表5-33 キャッシュ制御ディレクティブ

ディレクティブ 説明

public

レスポンスは、任意のキャッシュによってキャッシュされます。

private

レスポンスは、共有キャッシュ(プロキシ・サーバーなど)にはキャッシュされません。

no-cache

クライアントは、アクセスごとに更新されたコンテンツの存在をOracle Traffic Directorに確認する必要があります。

max-age=n

レスポンスは、n秒を超えてはキャッシュされません。

ObjectType fn="set-cache-control" control="private,max-age=60"

set-cookie

set-cookie関数では、クライアントに戻されるレスポンスにCookieを設定できます。

次の表に、set-cookie関数のパラメータを示します。

表5-34 set-cookieのパラメータ

パラメータ 説明

name

Cookieの名前。

value

(オプション) Cookieの値。デフォルト値: null

path

(オプション) Cookieを適用するベースURI。デフォルト値: / (スラッシュ)。

domain

(オプション) Cookieを送信する必要のあるサーバーのドメイン名。ドメインを指定しない場合、Webブラウザは、Cookieを設定するOracle Traffic DirectorにのみCookieを送信します。

max-age

(オプション) Cookieが期限切れになるまでの最大時間(秒単位)。max-ageを指定しない場合、Webブラウザでは、ユーザーがWebブラウザを閉じるとCookieも削除されます。

<If not defined $cookie{'FIRSTVISITTIME'}>
ObjectType fn="set-cookie"
           name="FIRSTVISITTIME"
           value="$time"
           max-age="31536000"
</If>

type-by-exp

type-by-exp関数は、現在のパスとワイルドカード式を照合します。一致する場合、typeパラメータの情報がファイルに適用されます。これは、URLに指定されたファイルまたはディレクトリに対してワイルドカード・パターンを使用することを除けば、type-by-extensionと同じです。

表5-35に、type-by-exp関数のパラメータを示します。

表5-35 type-by-expのパラメータ

パラメータ 説明

exp

この関数を適用するパスのワイルドカード・パターン。

type

(オプション)一致するリクエストに割り当てるタイプ(Content-Typeヘッダー)。

enc

(オプション)一致するリクエストに割り当てるエンコーディング(Content-Encodingヘッダー)。

lang

(オプション)一致するリクエストに割り当てる言語(Content-Languageヘッダー)。

charset

(オプション) rq->srvhdrsmagnus-charsetパラメータの文字セット。ブラウザがAccept-Charsetヘッダーを送信する場合、またはそのUser-AgentがMozilla/1.1以上の場合、"; charset=charset"をContent-Typeに追加します(charsetrq->srvhdrsmagnus-charsetパラメータの値です)。

ObjectType fn="type-by-exp" exp="*.test" type="application/html"

関連項目

type-by-extension

type-by-extension関数は、Oracle Traffic Directorに対し、MIMEタイプ・マッピングの表を検索して、リクエストされたリソースのMIMEタイプを検出するように指示します。MIMEタイプは、クライアントに戻されるContent-Typeヘッダーに追加されます。

MIMEタイプ・マッピングの表は、MIMEタイプのファイルまたはリストをロードしてマッピングを作成するserver.xmlファイルのmime-file要素によって作成されます。

たとえば、次の2つの行は、MIMEタイプ・ファイルの一部です。

type=text/html exts=htm,html
type=text/plain exts=txt

リクエストされたリソースの拡張子がhtmまたはhtmlの場合、type-by-extensionファイルは、そのタイプをtext/htmlに設定します。拡張子が.txtの場合、関数はそのタイプをtext/plainに設定します。

ObjectType fn="type-by-extension"

関連項目

Input

Inputディレクティブでは、Serviceステージで読み取られる着信リクエスト・データを処理するフィルタを選択できます。「Input」を参照してください。

Inputディレクティブでは、次の共通SAFも有効です。

どのInputディレクティブにも次のオプション・パラメータがあります。

表5-36 Inputディレクティブのオプション・パラメータ

パラメータ 説明

type

(オプション)この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。

method

(オプション)この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。一般的なHTTPメソッドは、GETHEADおよびPOSTです。

query

(オプション)この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。

Output

Outputステージでは、発信データを処理するフィルタを選択できます。詳細は、「Output」を参照してください。

どのOutputディレクティブにも次のオプション・パラメータがあります。

表5-37 Outputディレクティブのオプション・パラメータ

パラメータ 説明

type

(オプション)この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。

method

(オプション)この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。一般的なHTTPメソッドは、GETHEADおよびPOSTです。

query

(オプション)この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。

Outputディレクティブでは、次の共通SAFも有効です。

Route

Routeディレクティブは、Webサーバーによるリクエストのルーティング場所に関する情報を指定します。「Route」を参照してください。

この項では、次のRouteクラスの関数について詳細に説明します。

また、Routeディレクティブでは、次の共通SAFも有効です。

set-origin-server

set-origin-server関数は、同機種のHTTPオリジン・サーバーのセット全体に負荷を分散します。このSAFは、このリクエストの指定オリジン・サーバー・プールからオリジン・サーバーを選択します。set-origin-server SAFには、必須パラメータとしてorigin-server-poolが必要です。

表5-38に、set-origin-server関数のパラメータを示します。

表5-38 set-origin-serverのパラメータ

パラメータ 説明

origin-server-pool

(必須)構成済のオリジン・サーバー・プールの名前。このプールから、server.xmlのorigin-server-pool要素内で定義されたロード・バランシング・パラメータに基づいて、いずれかのオリジン・サーバーが選択されます。

sticky-cookie

(オプション)レスポンスに存在する場合に、後続のリクエストを特定のオリジン・サーバーに固定するCookieの名前。これに基づいて、このCookieを持つ後続のリクエストは同じオリジン・サーバーに送信されます。

このパラメータには値として*を使用できます。これは、オリジン・サーバーから受信するCookieはすべてスティッキとみなされることを意味します。デフォルト値: *

sticky-param

(オプション)ルート情報を検査するURIパラメータの名前。URIパラメータがリクエストURIに存在し、その値にコロン(:)が含まれ、その後にルートIDが続く場合、そのルートIDによって識別されるオリジン・サーバーにリクエストが固定されます。デフォルト値: jsessionid

route-hdr

(オプション)ルートIDをオリジン・サーバーに伝達するために使用されるHTTPリクエスト・ヘッダーの名前。set-origin-serverは、サーバー・パラメータで指定された各オリジン・サーバーを一意のルートIDに関連付けます。オリジン・サーバーは、sticky-paramパラメータで指定されたURIパラメータのこのルートIDをエンコードして、後続のリクエストを固定できます。デフォルト値: Proxy-jroute

route-cookie

(オプション)レスポンスにsticky-cookieが含まれる場合にOracle Traffic Directorによって生成されるCookieの名前。route-cookieパラメータには、Oracle Traffic Directorが後続のリクエストを同じオリジン・サーバーに戻すことを可能にするルートIDが格納されます。デフォルト値: JROUTE

rewrite-host

(オプション)ホストHTTPリクエスト・ヘッダーを、serverパラメータで指定されたホストに一致するようにリライトするかどうかを示します。デフォルト値: false。これは、ホスト・ヘッダーをリライトしないことを示します。

rewrite-location

(オプション) serverパラメータに一致するLocation HTTPレスポンス・ヘッダーをリライトするかどうかを示します。デフォルト値: true。これは、一致するLocationヘッダーをリライトすることを示します。

rewrite-content-location

(オプション) Oracle Traffic Directorパラメータに一致するContent-Location HTTPレスポンス・ヘッダーをリライトするかどうかを示します。デフォルト値: true。これは、一致するContent-Locationヘッダーをリライトすることを示します。

rewrite-headername

(オプション) Oracle Traffic Directorパラメータに一致するheadername HTTPレスポンス・ヘッダーをリライトするかどうかを示します。headernameは、ユーザー定義のヘッダー名です。headernameは小文字です。LocationおよびContent-Locationヘッダーは例外です。デフォルト値: false。これは、headernameヘッダーをリライトしないことを示します。

Route fn="set-origin-server" origin-server-pool="origin-server-pool-1"

set-proxy-server

set-proxy-server関数は、Oracle Traffic Directorに対し、特定のプロキシ・サーバーから現在のリソースを取得するように指示します。

表5-39に、set-proxy-server関数のパラメータを示します。

表5-39 set-proxy-serverのパラメータ

パラメータ 説明

server

リモート・プロキシ・サーバーのURL。複数のサーバー・パラメータを指定すると、Oracle Traffic Directorは、指定したリモート・サーバー全体に負荷を分散します。

Route fn="set-proxy-server"
      server="http://webcache1.eng.sun.com:8080"
      server="http://webcache2.eng.sun.com:8080"

Service

Serviceディレクティブは、クライアントにレスポンス・データを送信します。「Service」を参照してください。

どのServiceディレクティブにも、関数を実行するかどうかを決定するための次のオプション・パラメータがあります。関数を実行するには、すべてのオプション・パラメータが現在のリクエストに一致する必要があります。

表5-40 Serviceディレクティブのオプション・パラメータ

オプション・パラメータ 説明

type

この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。magnus-internal/* MIMEタイプは、実行するService関数を選択する場合にのみ使用されます。

method

この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。一般的なHTTPメソッドは、GETHEADおよびPOSTです。

query

この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。

UseOutputStreamSize

クライアントにデータを送信するための、デフォルトの出力ストリーム・バッファ・サイズ(バイト単位)を決定します。このパラメータを指定しない場合、デフォルトは8192バイトです。

注意: このパラメータをゼロ(0)に設定すると、出力ストリーム・バッファリングが無効になります。

flushTimer

バッファリングを有効にする書込み操作間の最大ミリ秒数を決定します。後続の書込み操作間の間隔がアプリケーションのflushTimer値を超えると、その後のバッファリングは無効になります。これは、継続的に実行され、ステータス更新レポートを定期的に生成するCGIアプリケーションのステータスを監視する場合に必要です。このパラメータを指定しない場合、デフォルトは3000ミリ秒です。

ChunkedRequestBufferSize

リクエスト・データのチャンクを解除するためのデフォルトのバッファ・サイズ(バイト単位)を決定します。このパラメータを指定しない場合、デフォルトは8192バイトです。

ChunkedRequestTimeout

リクエスト・データのチャンクを解除するためのデフォルトのタイムアウト(秒単位)を決定します。このパラメータを指定しない場合、デフォルトは60秒です。

Serviceクラスの関数が複数ある場合、オプションのワイルドカード・パラメータ(typemethodおよびquery)に一致する最初の関数が実行されます。

UseOutputStreamSizeChunkedRequestBufferSizeおよびChunkedRequestTimeoutパラメータにも、同等のmagnus.confディレクティブがあります。obj.confパラメータは、magnus.confディレクティブをオーバーライドします。

デフォルトで、Oracle Traffic Directorは、send-file関数をコールして、リクエストされたファイルをクライアントに送信します。デフォルトを設定するディレクティブは次のとおりです。

Service method="(GET|HEAD)" type="*~magnus-internal/*" fn="send-file"

このディレクティブは、通常、他のすべてのServiceディレクティブに起動の機会を与えるため、Serviceクラスのディレクティブ・セット内の最後に配置されます。このディレクティブは、リクエストのメソッドがGETHEADまたはPOSTで、タイプがmagnus-internal/で始まらない場合に起動されます。パターン*~は、不一致を意味することに注意してください。パターンで使用できる文字のリストは、「ワイルドカード・パターン」を参照してください。

次の項では、Serviceディレクティブで使用される関数について説明します。

また、Serviceディレクティブでは、次の共通SAFも有効です。

proxy-retrieve

proxy-retrieve関数は、リモート・サーバーからドキュメントを取得してクライアントに返します。この関数では、任意のメソッドを許可またはブロックするようにOracle Traffic Directorを構成することもできます。この関数は、HTTPプロトコルでのみ動作します。

表5-41に、proxy-retrieve関数のパラメータを示します。

表5-41 proxy-retrieveのパラメータ

パラメータ 説明

type

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。「Service」を参照してください。

method

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。「Service」を参照してください。

query

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。「Service」を参照してください。

UseOutputStreamSize

(オプション)すべてのServiceクラスの関数に共通です。クライアントにデータを送信するための、デフォルトの出力ストリーム・バッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

flushTimer

(オプション)すべてのServiceクラスの関数に共通です。バッファリングを有効にする書込み操作間の最大ミリ秒数を決定します。「Service」を参照してください。

ChunkedRequestBufferSize

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのバッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

ChunkedRequestTimeout

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのタイムアウト(秒単位)を決定します。「Service」を参照してください。

# Normal proxy retrieve
Service fn="proxy-retrieve"
# Proxy retrieve with POST method disabled
Service fn="proxy-retrieve"
     method="(POST)"

remove-filter

remove-filter関数は、フィルタ・スタックからフィルタを削除するために使用します。フィルタを複数回挿入すると、最上位のインスタンスのみが削除されます。一般的に、フィルタはリクエストの最後に自動的に削除されるため、remove-filterを使用して削除する必要はありません。

次の表に、remove-filter関数のパラメータを示します。

表5-42 remove-filterのパラメータ

パラメータ 説明

type

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。「Service」を参照してください。

method

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。「Service」を参照してください。

query

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。「Service」を参照してください。

UseOutputStreamSize

(オプション)すべてのServiceクラスの関数に共通です。クライアントにデータを送信するための、デフォルトの出力ストリーム・バッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

flushTimer

(オプション)すべてのServiceクラスの関数に共通です。バッファリングを有効にする書込み操作間の最大ミリ秒数を決定します。「Service」を参照してください。

ChunkedRequestBufferSize

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのバッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

ChunkedRequestTimeout

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのタイムアウト(秒単位)を決定します。「Service」を参照してください。

Service fn="remove-filter"

service-proxy-cache-dump

service-proxy-cache-dump関数は、現在のリバース・プロキシのキャッシュ統計をダンプします。

表5-43に、service-proxy-cache-dump関数のパラメータを示します。

表5-43 service-proxy-cache-dumpのパラメータ

パラメータ 説明

list

キャッシュのオブジェクトをリストします。

キャッシュのリストには、URI、フラグのセット、キャッシュ・エントリに対する現在の参照数、およびエントリのサイズが含まれます。

refresh=n

このパラメータの値をnに設定すると、クライアントはn秒ごとにページを再ロードします。

restart

キャッシュを停止して再起動します。

start

キャッシュを起動します。

stop

キャッシュを停止します。

<Object name="default"
NameTrans fn=assign-name name="proxy-cache" from="/.proxycache"
</Object>
<Object name="proxy-cache">
    Service fn="service-proxy-cache-dump"
</Object>

service-trace

service-trace関数は、TRACEリクエストにサービスを提供します。TRACEリクエストは、WebクライアントとWebサーバー間に存在するWebプロキシの問題を診断するために使用します。

表5-44に、service-trace関数のパラメータを示します。

表5-44 service-traceのパラメータ

パラメータ 説明

type

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。「Service」を参照してください。

method

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。「Service」を参照してください。

query

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。「Service」を参照してください。

UseOutputStreamSize

(オプション)すべてのServiceクラスの関数に共通です。クライアントにデータを送信するための、デフォルトの出力ストリーム・バッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

flushTimer

(オプション)すべてのServiceクラスの関数に共通です。バッファリングを有効にする書込み操作間の最大ミリ秒数を決定します。「Service」を参照してください。

ChunkedRequestBufferSize

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのバッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

ChunkedRequestTimeout

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのタイムアウト(秒単位)を決定します。「Service」を参照してください。

<Object name="default">
...
Service method="TRACE" fn="service-trace"
...
</Object>

stats-xml

stats-xml関数は、XML形式でパフォーマンス・レポートを作成します。パフォーマンス・バケットが定義されている場合、このパフォーマンス・レポートにそれらが含まれます。

レポートが生成される場所は次のとおりです。

http://server_id:portURI

次に例を示します。

http://example.com:80/stats-xml

次の表に、stats-xml関数のパラメータを示します。

表5-45 stats-xmlのパラメータ

パラメータ 説明

type

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。「Service」を参照してください。

method

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。「Service」を参照してください。

query

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。「Service」を参照してください。

UseOutputStreamSize

(オプション)すべてのServiceクラスの関数に共通です。クライアントにデータを送信するための、デフォルトの出力ストリーム・バッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

flushTimer

(オプション)すべてのServiceクラスの関数に共通です。バッファリングを有効にする書込み操作間の最大ミリ秒数を決定します。「Service」を参照してください。

ChunkedRequestBufferSize

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのバッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

ChunkedRequestTimeout

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのタイムアウト(秒単位)を決定します。「Service」を参照してください。

<Object name="default">
<If uri = "/stats-xml/*">
Service fn="stats-xml"
</If>
...
</Object>

AddLog

AddLogディレクティブは、トランザクションに関する情報を記録するために実行されます。詳細は、「AddLog」を参照してください。

この項では、次のAddLogクラスの関数について詳細に説明します。

また、AddLogディレクティブでは、次の共通SAFも有効です。

flex-log

flex-log関数は、フレキシブル・ログ形式でリクエスト固有のデータを記録します。これは、共通ログ形式でリクエストを記録することもできます。Webサーバーの/binディレクトリにログ・アナライザ(flexanlg)が存在します。共通ログ形式の場合、無償の統計ジェネレータも多くあります。

server.xmlaccess-log要素のformatサブ要素を使用してログ形式を指定します。「access-log」を参照してください。ログ形式の詳細は、カスタム・アクセス・ログ・ファイル形式の使用を参照してください。

表5-46に、flex-log関数のパラメータを示します。

表5-46 flex-logのパラメータ

パラメータ 説明

name

(オプション)ログ・ファイルの名前を指定します。名前は、server.xmlaccess-log要素で事前に定義されている必要があります。名前を指定しない場合、エントリはデフォルト・ログ・ファイルに記録されます。

iponly

(オプション) Oracle Traffic Directorに対し、DNS名を参照して記録するのではなく、リモート・クライアントのIPアドレスを記録するように指示します。これによって、DNSが無効の場合のパフォーマンスが向上します。iponlyの値は、存在するだけで意味はありません。iponly=1を使用できます。

# Log all accesses to the default log file
AddLog fn="flex-log"
# Log accesses from outside our subnet (198.93.5.*) to 
# nonlocallog
<Client ip="*~198.93.5.*">
AddLog fn="flex-log" name="nonlocallog"
</Client>

Error

SAFでエラーが発生した場合、Oracle Traffic Directorは、他のすべてのディレクティブの実行を停止して、即座にErrorディレクティブの実行を開始します。「Error」を参照してください。

この項では、次のErrorクラスの関数について詳細に説明します。

また、Errorディレクティブでは、次の共通SAFも有効です。

qos-error

qos-error関数は、エラーを引き起こしたサービス品質とQoS統計の値を示したエラー・ページを返します。

表5-47に、qos-error関数のパラメータを示します。

表5-47 qos-errorのパラメータ

パラメータ 説明

code

(オプション) HTTPレスポンス・ステータス・コードを表す3桁の数字(401407など)。推奨値は503です。

HTTP仕様に準拠した任意のHTTPレスポンス・ステータス・コードまたは理由フレーズを使用できます。

一般的なHTTPレスポンス・ステータス・コードおよび理由文字列のリストは、次のとおりです。

  • 401 Unauthorized

  • 403 Forbidden

  • 404 Not Found

  • 500 Server Error

Error fn="qos-error" code="503"

関連項目

send-error

send-error関数は、特定のHTTPレスポンス・ステータスのかわりにクライアントにHTMLファイルを送信します。これによりサーバーは、問題を説明するメッセージを表示できます。HTMLページには、イメージおよびサーバーのホーム・ページまたはその他のページへのリンクが含まれます。

表5-48に、send-error関数のパラメータを示します。

表5-48 send-errorのパラメータ

パラメータ 説明

path

クライアントに送信するHTMLファイルの絶対パスを指定します。ファイルが存在しないかアクセス不可である場合、サーバーにより404または403エラー・ページが返されます。ファイルは、名前または実際のタイプに関係なくtext/htmlとして送信されます。

code

(オプション) HTTPレスポンス・ステータス・コードを表す3桁の数字(401407など)。

HTTP仕様に準拠した任意のHTTPレスポンス・ステータス・コードまたは理由フレーズを使用できます。

一般的なHTTPレスポンス・ステータス・コードおよび理由文字列のリストは、次のとおりです。

  • 401 Unauthorized

  • 403 Forbidden

  • 404 Not Found

  • 500 Server Error

type

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。「Service」を参照してください。

method

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。「Service」を参照してください。

query

(オプション)すべてのServiceクラスの関数に共通です。この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。「Service」を参照してください。

bucket

(オプション)すべてのobj.confの関数に共通です。パフォーマンスを監視するバケットを追加します。「bucketパラメータ」を参照してください。

Error fn="send-error" code="401" path="/opt/oracle/webserver7/docs/errors/401.html"

共通SAF

この項では、複数のディレクティブに共通なSAFをリストします。

insert-filter

insert-filter SAFは、クライアントからサーバーに着信するデータを処理するフィルタ・スタックにフィルタを追加するために使用します。Input fn="insert-filter"ディレクティブとOutput fn="insert-filter"ディレクティブの順序は重要です。

戻り値

指定されたフィルタの挿入に成功した場合はREQ_PROCEEDを返し、指定されたフィルタが不要なために挿入されなかった場合はREQ_NOACTIONを返します。他のすべての戻り値はエラーを示します。

パラメータ

次の表に、insert-filter関数のパラメータを示します。

表5-50 insert-filterのパラメータ

パラメータ 説明

filter

挿入するフィルタの名前を指定します。事前定義フィルタの詳細は、「Input」および「Output」を参照してください。

type

(オプション) InputクラスおよびOutputクラスのすべての関数に共通です。この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。

method

(オプション) InputクラスおよびOutputクラスのすべての関数に共通です。この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。一般的なHTTPメソッドは、GETHEADおよびPOSTです。

query

(オプション) InputクラスおよびOutputクラスのすべての関数に共通です。この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。

Input fn="insert-filter" filter="http-decompression"

このディレクティブは、insert-filter関数に対し、カスタム・フィルタのhttp-decompressionをフィルタ・スタックに追加するように指示しています。http-decompressionフィルタは、着信HTTPリクエスト・データがサービス・ステージに移行する前に解凍します。「Input」および「Output」を参照してください。

match-browser

match-browser関数は、ブラウザから提供されるUser-Agent文字列の特定の文字列に一致します。その後、指定された変数の値を設定した結果に基づいてOracle Traffic Directorの動作を変更します。この関数は、すべてのディレクティブで使用できます。

構文

stage fn="match-browser" browser="string" name="value" [name="value" ]

パラメータ

次の表に、match-browser関数のパラメータ値を示します。

表5-51 match-browserのパラメータ

説明

stage

obj.confの処理で使用されるステージ・ディレクティブ。match-browser関数は、すべてのステージ・ディレクティブで使用できます。

string

User-Agentヘッダーと比較するワイルドカード・パターン("*Mozilla*"など)。

name

変更する変数。match-browser関数は、間接的にset-variable関数を起動します。

value

指定した変数の新しい値。

AuthTrans fn="match-browser"
          browser="*[Bb]roken*"
          ssl-unclean-shutdown="true"
          keep-alive="disabled"
          http-downgrade="1.0"

ブラウザのUser-Agentヘッダーに文字列Brokenまたはbrokenが含まれる場合、前述のAuthTransディレクティブは、Oracle Traffic Directorに次のことを指示します。

  • SSL3およびTLSのclose_notifyパケットを送信しないこと

  • HTTPキープ・アライブに対するリクエストを受け入れないこと

  • HTTP/1.1ではなくHTTP/1.0プロトコルを使用すること

この例で使用されている ssl-unclean-shutdownなどの変数の詳細は、「set-variable」を参照してください。

関連項目

redirect

redirect関数では、URLを変更して、更新されたURLをクライアントに送信できます。クライアントが古いパスを使用してサーバーにアクセスすると、Oracle Traffic Directorは、そのリクエストを新規URLに対するリクエストとして処理します。

redirect関数は、クライアントのリダイレクト先のURLを検査します。URLがクライアントのリクエストしたURLと一致している場合(同じスキーム、ホスト名、ポートおよびパス)、この関数は、リダイレクトを実行せず、かわりにREQ_NOACTIONを返します。

表5-52に、redirect関数のパラメータを示します。

表5-52 redirectのパラメータ

パラメータ 説明

from

(オプション)一致させるリクエストURIの接頭辞を指定します。fromを指定しない場合、デフォルトで""に設定されます。

url

(オプション)クライアントに返す完全なURLを指定します。このパラメータを使用する場合、url-prefixは使用しないでください。

url-prefix

(オプション)クライアントに返す新しいURL接頭辞。from接頭辞は、このURL接頭辞で置き換えられます。このパラメータを使用する場合、urlは使用しないでください。

escape

(オプション) urlまたはurl-prefixパラメータの値をエスケープする必要があるかどうかを示します。デフォルトはyesであり、Oracle Traffic Directorで値をエスケープすることを示します。値noは、URLまたはURL接頭辞の値がすでにエスケープされていることを示します。エスケープされた値の例として、%文字が%25で、空白が%20で置き換えられている場合があります。

status

(オプション) HTTPステータス・コードをカスタマイズします。statusを指定しない場合、デフォルトで302に設定されます。

type

(オプション)すべてのOutputクラスの関数に共通です。この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。

method

(オプション)すべてのOutputクラスの関数に共通です。この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。一般的なHTTPメソッドは、GETHEADおよびPOSTです。

query

(オプション)すべてのOutputクラスの関数に共通です。この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。

最初の例では、http://server-name/whateverに対するリクエストは、すべてhttp://tmpserver/whateverに対するリクエストに変換されます。

NameTrans fn="redirect" from="/" url-prefix="http://tmpserver/"

2番目の例では、http://server-name/toopopular/whateverに対するリクエストは、http://bigger/better/stronger/morepopular/に対するリクエストに変換されます。

NameTrans fn="redirect" from="/toopopular"
     url="http://bigger/better/stronger/morepopular"

remove-filter

remove-filter SAFは、フィルタ・スタックからフィルタを削除するために使用します。フィルタを複数回挿入すると、最上位のインスタンスのみが削除されます。一般的に、フィルタはリクエストの最後に自動的に削除されるため、remove-filterを使用して削除する必要はありません。

戻り値

指定されたフィルタの削除に成功した場合はREQ_PROCEEDを返し、指定されたフィルタがフィルタ・スタックの一部でなかった場合はREQ_NOACTIONを返します。他のすべての戻り値はエラーを示します。

パラメータ

次の表に、remove-filter関数のパラメータを示します。

表5-53 remove-filterのパラメータ

パラメータ 説明

filter

削除するフィルタの名前を指定します。

type

(オプション) Inputクラス、OutputクラスおよびServiceクラスのすべての関数に共通です。この関数を実行するMIMEタイプのワイルドカード・パターンを指定します。magnus-internal/* MIMEタイプは、実行するService関数を選択する場合にのみ使用されます。

method

(オプション) Inputクラス、OutputクラスおよびServiceクラスのすべての関数に共通です。この関数を実行するHTTPメソッドのワイルドカード・パターンを指定します。一般的なHTTPメソッドは、GETHEADおよびPOSTです。

query

(オプション) Inputクラス、OutputクラスおよびServiceクラスのすべての関数に共通です。この関数を実行する問合せ文字列のワイルドカード・パターンを指定します。

UseOutputStreamSize

(オプション)すべてのServiceクラスの関数に共通です。クライアントにデータを送信するための、デフォルトの出力ストリーム・バッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

flushTimer

(オプション)すべてのServiceクラスの関数に共通です。バッファリングを有効にする書込み操作間の最大ミリ秒数を決定します。「Service」を参照してください。

ChunkedRequestBufferSize

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのバッファ・サイズ(バイト単位)を決定します。「Service」を参照してください。

ChunkedRequestTimeout

(オプション)すべてのServiceクラスの関数に共通です。リクエスト・データのチャンクを解除するためのデフォルトのタイムアウト(秒単位)を決定します。「Service」を参照してください。

Input fn="remove-filter" filter="http-compression"

restart

restart関数では、HTTPリダイレクトをクライアントに送信することなく、Oracle Traffic Director内でURLリライティングを実行できます。restart関数は、rq->reqpburiおよびqueryの値を、uriパラメータで指定されたURIと問合せ文字列に置き換え、REQ_RESTARTを返してリクエストを再起動します。

uriパラメータに?文字が含まれる場合、?に続く値が問合せ文字列として使用されます。それ以外の場合、再起動されたリクエストに問合せ文字列は含まれません。新しいリクエストURIは、再度AuthTransステージとNameTransステージで処理されるため、無限ループを作成することは避けてください。

次の表に、restart関数のパラメータを示します。

表5-54 restartのパラメータ

パラメータ 説明

from

(オプション)再起動するリクエストのパスを指定するワイルドカード・パターン。デフォルトではすべてのパスに一致します。

uri

再起動するリクエストで使用するURIおよび問合せ文字列。

次のobj.confのコードは、Oracle Traffic Directorに、/index.htmlに対するリクエストを/index.jspに対するリクエストと同様に処理するように指示します。

NameTrans fn="restart" from="/index.html" uri="/index.jsp"

関連項目

rewrite-cookie

rewrite-cookie機能により、バック・エンド・サーバーにから返されるCookieの変更が可能です。

次の表に、rewrite-cookie関数のパラメータを示します。

表5-55 restartのパラメータ

パラメータ データ型 説明

name

Boolean

返信Cookie名を指定します

secure

Boolean

"secure"属性を、"name"で指定されたレスポンスCookieに追加または削除する必要があるかどうか指定します。

httponly

Boolean

"HttpOnly"パラメータを、"name"で指定されたレスポンスCookieに追加または削除する必要があるかどうか指定します。

passthrough

Boolean

"name"で指定されたレスポンスCookieの"path"属性を、上書きする必要があるかどうか指定します。

sed-param-name

sed-param-name関数は、指定されたpblockパラメータ名を、指定されたsed式に基づいて変更します。

次の表に、sed-param-name関数のパラメータを示します。

表5-56 sed-param-nameのパラメータ

パラメータ 説明

name

パラメータ名を指定します

sed

指定した変数のsed式の値を指定します。

pblock

pblock名を指定します。

次のようにして、"Content-length: 123"を"Content-Length: 123"に変換します NameTrans fn="sed-param-name" pblock="headers" name="content-length" sed="s/-length/-Length/g"

sed-param-value

sed-param-value関数は、指定されたpblockパラメータ値を、指定されたsed式に基づいて変更します。

次の表に、sed-param-value関数のパラメータを示します。

表5-57 sed-param-valueのパラメータ

パラメータ 説明

name

値を変更するパラメータ名を指定します

sed

指定した変数のsed式の値を指定します。

pblock

pblock名を指定します。

次のようにして、任意のpblockパラメータ値(指定された名前に対応)をリライトします NameTrans fn="sed-param-value" pblock="reqpb" name="uri" sed="s/test/plan/g"

sed-response-header

sed-response-headerは、レスポンス・ヘッダーをリライトし、"name"および"sed"の2つのパラメータが必要です。

戻り値

エラーが発生した場合はREQ_ABORTEDを返し、指定されたフィルタが不要なために挿入されなかった場合はREQ_NOACTIONを返します。

パラメータ

次の表に、sed-response-header関数のパラメータ値を示します。

表5-58 sed-response-headerのパラメータ

説明

name

指定された変数のヘッダー名。

sed

指定した変数のsed式の値。

次のようにして、指定したレスポンス・ヘッダーの値をリライトします。 Output fn="sed-response-header" name="server" sed="s/backend/frontend/g"

set-priority

set-priority関数は、優先順位(HIGH、NORMALまたはLOW)をその他のSAFおよび後でコールされるフィルタ(check-req-limit, set-origin-serverなど、および帯域幅フィルタ)に設定します。

set-priorityが使用されない場合、リクエストはデフォルトの優先順位、NORMALで実行されます。

優先順位の値は、HIGHは2、NORMALは1およびLOWは0で、rq->varsに格納されます。

access-log形式を、たとえば、%Req->vars.priority%のように変更して、優先順位を含めることができます。

次の表に、set-priority関数のパラメータを示します。

表5-59 restartのパラメータ

説明

priority

サポートされる優先順位の値は次のとおりです。

  • "HIGH" - LOWおよびNORMAL優先順位のリクエストよりも先に処理される可能性が高いリクエストです

  • "NORMAL" - LOW優先順位のリクエストよりも先に処理される可能性が高いリクエストです

  • "LOW" - HIGHおよびNORMAL優先順位のリクエストよりも先に処理される可能性が低いリクエストです

優先順位値では大/小文字が区別されます。

uri

再起動するリクエストで使用するURIおよび問合せ文字列。

次のobj.confコードは、URIの値に基づいてリクエストの優先順位を設定し、'/index.html'にHIGH、および'foo.html'.にLOWを設定します。

<Object name="default">AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true"

<If $uri eq '/index.html'>AuthTrans fn="set-priority" priority="HIGH"</If>

<If $uri eq '/foo.html'>AuthTrans fn="set-priority" priority="LOW"</If>
......Service fn="proxy-retrieve" method="*"AddLog fn="flex-log"</Object>

set-variable

set-variable関数では、リクエストの条件情報に基づいてOracle Traffic Directorの設定を変更できます。この関数は、すべてのディレクティブで使用できます。

これを使用して、次のコマンドによってパラメータ・ブロックの変数を操作することもできます。

  • insert-pblock="name=value"

    指定されたpblockに新しい値を追加します。

  • set-pblock="name=value"

    指定されたpblockに新しい値を設定し、既存の値を同じ名前で置き換えます。

  • remove-pblock="name"

    指定されたpblockから特定の名前を持つすべての値を削除します。

set-variable関数は、多くの事前定義変数をパラメータとして認識します。また、set-variableのパラメータ名が$で始まるが事前定義変数の名前ではない場合、パラメータとその値はrq->vars pblockに格納されます。この機能により、リクエスト時に$variableの値を定義またはオーバーライドできます。

set-variableは、$variable形式と${variable}形式の両方を受け入れますが、rq->vars pblockに格納されたパラメータの名前は、常に$variable形式になります。

構文

stage fn="set-variable" [{insert|set|remove}-pblock="name=value" ...][name="value" ]

パラメータ

次の表に、set-variable関数のパラメータ値を示します。

表5-60 set-variableのパラメータ

説明

pblock

次のセッションまたはリクエスト・パラメータ・ブロック名のいずれかを指定します。

  • client: クライアント・マシンのIPアドレスとリモート・マシンのDNS名を含みます。

  • vars: サーバーの作業変数(reqpbheadersまたはsrvhdrs pblockに特に出現しないものなど)を含みます。このpblockの内容は、特定のリクエストおよびSAFのタイプに応じて異なります。

  • reqpb: HTTPリクエストの要素(GETやPOSTなどのHTTPメソッド、URI、プロトコル(通常はHTTP/1.0)、問合せ文字列など)を含みます。このpblockは、リクエスト/レスポンス・プロセス中は変更されません。

  • headers: HTTPリクエストでクライアントから受信されたすべてのリクエスト・ヘッダー(User-AgentIf-Modified-Sinceなど)を含みます。このpblockは、リクエスト/レスポンス・プロセス中は変更されません。

  • srvhdrs: HTTPレスポンスでクライアントに送信されるレスポンス・ヘッダー(ServerDateContent-TypeContent-lengthなど)を含みます。

name

設定する変数。

value

nameで指定した変数に割り当てる文字列。

変数

次の表に、set-variable SAFでサポートされる変数をリストします。

表5-61 サポートされる変数

変数 説明

abort

trueの値は、結果コードをREQ_ABORTEDに設定することを示します。結果コードをREQ_ABORTEDに設定すると、現在のリクエストは中断され、ブラウザにエラーが送信されます。結果コードの詳細は、Oracle Traffic Directorの管理を参照してください。

error

HTTPステータス・コードを設定し、REQ_ABORTEDを返してリクエストを終了します。リクエストを終了せずにHTTPステータス・コードを設定するには、set-variableのerrorパラメータをnoactionパラメータと組み合せて使用します。HTTPステータス・コードをリライトするには、元のステータス・コードに一致するClientタグと新しいステータス・コードを設定するOutputディレクティブを使用します。

たとえば、次のコードは、302 Moved Temporarilyのすべてのレスポンスを301 Moved Permanentlyのレスポンスにリライトします。

<Client code="302">
Output fn="set-variable" error="301 Moved Permanently"
     noaction="true"
</Client>

ブラウザ・リクエストが中断されたときに返すエラー・コードを設定します。

escape

util_uri_escapeを使用してURLをエスケープするかどうかを示すブール値。

Oracle Traffic Directorの管理を参照してください。

find-pathinfo-forward

URIのファイル名に続くパス情報。

http-downgrade

HTTPのバージョン番号(1.0など)。

http-upgrade

HTTPのバージョン番号(1.0など)。

keep-alive

ブラウザからのキープ・アライブ・リクエストを受け入れるかどうかを決定するブール値。

name

このリクエストにディレクティブが適用されるobj.confファイル内の名前付きオブジェクトを追加で指定します。「assign-name」も参照してください。

noaction

trueの値は、結果コードをREQ_NOACTIONに設定することを示します。AuthTransNameTransServiceおよびErrorステージのSAFでは、結果コードをREQ_NOACTIONに設定すると、そのステージにおける後続のSAFの実行を許可することを示します。結果コードの詳細は、Oracle Traffic Directorの管理を参照してください。

nostat

可能であれば、URLに対してサーバーがstat()関数を実行しないように設定します。「assign-name」も参照してください。

senthdrs

HTTPレスポンス・ヘッダーがクライアントに送信されたかどうかを示すブール値。

ssl-unclean-shutdown

SSL3接続のクローズ方法を変更するために使用できるブール値。

注意: これはSSL3 RFCに違反しているため、SSL3の停止に関する問題が発生していることが確認できた場合にのみ、十分に注意してこれを使用してください。

stop

trueの値は、結果コードをREQ_PROCEEDに設定することを示します。AuthTransNameTransServiceおよびErrorステージのSAFでは、結果コードをREQ_PROCEEDに設定すると、そのステージにおける後続のSAFの実行を許可しないことを示します。

url

リクエストを指定されたURLにリダイレクトします。

  • 特定のサーバー・クラスに対するHTTPキープ・アライブ・リクエストを拒否しながら他のクラスに対するキープ・アライブ・リクエストは引き続き受け入れるには、次のAuthTransディレクティブをサーバー・クラスのobj.confに追加して、変数keep-alivedisabledに設定します。

    AuthTrans fn="set-variable" keep-alive="disabled"
    
  • 同じサーバー・クラスでHTTP/1.0を使用しながら残りのOracle Traffic DirectorクラスでHTTP/1.1を使用するように設定するには、AuthTransディレクティブを次のように指定します。

    AuthTrans fn="set-variable" keep-alive="disabled" http-downgrade="1.0"
    
  • HTTPヘッダーを各レスポンスに挿入するには、insert-pblockコマンドを使用してNameTransディレクティブをobj.confに追加し、セッションまたはリクエスト・パラメータ・ブロックとしてsrvhdrsを指定します。

    たとえば、HTTPヘッダーのP3Pを挿入するには、次の行を各リクエストに追加します。

    NameTrans fn="set-variable" insert-srvhdrs="P3P"
    
  • 特定のURIに基づいてリクエストの処理を終了するには、Clientタグを使用して、URIと、一致した場合に変数aborttrueに設定するAuthTransディレクティブを指定します。Clientタグは次のようになります。

    <Client uri="*(system32|root.exe)*">
    AuthTrans fn="set-variable" abort="true"
    </Client>
    
  • 事前定義変数を使用して、Oracle Traffic Directorでホストbadnameへのリダイレクトをホストgoodnameへのリダイレクトにリライトするには、次のようにします。

    <If $srvhdrs{'location'} =~ "^(http|https)://badname/(.*)$"
    Output fn="set-variable" $srvhdrs{'location'}="$1://goodname/$2"
    </If>
    
  • リクエスト時に$variableの値を設定するには、次のようにします。

    <If "$time_hour:$time_min" < "8:30" || "$time_hour:$time_min" > "17:00">
    AuthTrans fn="set-variable" $docroot="/var/www/docs/closed"
    </If>
    ...
    NameTrans fn="document-root" root="$docroot"
    

    $docroot変数がserver.xmlで定義されているかどうかにかかわらず、Oracle Traffic Directorがローカル時間で午後5:00 - 午前8:00にアクセスされると、その値が/var/www/docs/closedに設定されます。

関連項目