HTTP トランスポート・チャネルのカスタム・プロパティー

HTTP トランスポート・チャネルを使用している場合は、 そのチャネルの構成設定に、 以下のいずれかのカスタム・プロパティーを追加することができます。

カスタム・プロパティーを追加するには、以下の手順を実行します。
  1. 管理コンソールで、 「サーバー」 > 「サーバー・タイプ」をクリックし、変更するチェーンのタイプに応じて、以下のいずれかのオプションを選択します。
    • WebSphere アプリケーション・サーバー > server_name。 「Web コンテナー設定」の下の「 Web コンテナー・トランスポート・チェーン > chain_name > HTTP インバウンド・チャネル > カスタム・プロパティー > 新規」をクリックします。
    • WebSphere プロキシー・サーバー > server_name。 「HTTP プロキシー・サーバー設定」の下で、 「プロキシー・サーバーのトランスポート」をクリックし、 HTTPS_PROXY_CHAIN または HTTP_PROXY_CHAINのいずれかを選択してから、 「HTTP インバウンド・チャネル」 > 「カスタム・プロパティー」 > 「新規」をクリックします。
  2. 一般プロパティー」で、「名前」フィールドでカスタム・プロパティーの名前を、 「値」フィールドでこのプロパティーの値を指定します。 「説明」フィールドでこのプロパティーの説明を指定することもできます。
  3. 「適用」または「OK」をクリックします。
  4. 保存」をクリックして、構成変更を保存します。
  5. サーバーを再始動してください。
以下は、製品に付属している HTTP トランスポート・チャネルのカスタム・プロパティーの説明です。 これらのプロパティーは、HTTP トランスポート・チャネルの設定ページには表示されません。 「カスタム・プロパティー」ページを使用して、以下のプロパティーを定義できます。

accessLogFormat

問題の回避: このカスタム・プロパティーを使用する場合は、NCSA アクセス・ロギングの構成設定の一部として 「チェーン固有のロギングを使用する」 オプションが選択されていることを確認してください。 デフォルトでは、NCSA アクセス・ロギングについて「グローバル・ロギング・サービスの使用」オプションが選択されます。 詳しくは、「アクセス・ロギングの使用可能化」を参照してください。

accessLogFormat プロパティーは、HTTP トランスポート・チャネルの NCSA アクセス・ログに含める情報、およびその情報のフォーマット設定を指定する場合に使用します。 このプロパティーの値は、オプションのスペース区切りリストです。 オプションを指定する順序によって、ログにおけるこの情報のフォーマットが決まります。

個々のオプションは引用符で囲むことができますが、引用符が必須ではありません。 特に記載がない限り、オプションで要求された情報を入手できない場合、そのオプションには「-」という値が出力されます。

以下のリストに、選択可能なオプションと、このプロパティーに指定された値の中にそのオプションが指定された場合に出力される情報を示します。
%a
リモート IP アドレス
%A
ローカル IP アドレス
%b
ヘッダーを除いた応答サイズ (バイト)
%B
ヘッダーを除いた応答サイズ (バイト)

値が見つからない場合、「-」ではなく 0 が出力されます。

%{CookieName}Cまたは%C
中括弧内に指定した要求 Cookie。または、中括弧が含まれていない場合は、すべての要求 Cookie を出力します。
%D
要求の経過時間 (ミリ秒の正確度、マイクロ秒の精度)
%h
リモート・ホスト
%{HeaderName}i
要求の HeaderName ヘッダー値
%m
要求メソッド
%{HeaderName}o
応答の HeaderName ヘッダー値
%q
パスワードをエスケープして照会ストリングを出力します
%r
要求の先頭行
%{R}W
要求が受信された時点から応答の最初のバイト・セットが送信されるまでの要求のサービス時間 (ミリ秒の正確度、マイクロ秒の精度)。
%s
応答の状況コード
%t
要求の開始時刻の NCSA 形式
%(t)W
アクセス・ログへのメッセージがログに記録するためにキューに入れられた現在時刻 (標準 NCSA 形式)
%u
WebSphere Application Server 固有の $WSRU ヘッダーによるリモート・ユーザー
%U
照会ストリングを含まない URL パス。
%{X}W
クロス・コンポーネント・トレース (XCT) のコンテキスト ID

例えば、このプロパティーの値として以下のディレクティブを指定できます。

%h "%{HeaderName}i" %u %t "%r" %s %b
この設定の場合、NCSA アクセス・ログには、各要求の以下の情報が指定された順序で含まれます。
  • リモート・ホスト
  • 要求の HeaderName ヘッダー値
  • WebSphere 固有の $WSRU ヘッダーによるリモート・ユーザー
  • 要求の開始時刻の NCSA 形式
  • 要求の先頭行
  • 応答の状況コード
  • ヘッダーを除いた応答サイズ (バイト)
重要: 上記のコード例では、 %r オプションと %{HeaderName}i オプションを囲む二重引用符 ("") は、これらの値にフィールド区切り文字ではないスペースを含めることができることを示しています。 これらのフィールドを二重引用符で囲んでいなくても、エラーにはなりません。 しかし、出力ファイルを処理する一部のプログラムでは問題が発生する可能性があります。

CookiesConfigureNoCache

CookiesConfigureNoCache プロパティーを 使用すると、HTTP 応答メッセージ内に Set-Cookie ヘッダーがあった場合に、 複数のキャッシュ関連のヘッダーの追加を行うかどうかを指定できます。 このプロパティーが true に設定されている場合、非常に古い日付を持つ Expires ヘッダー、および Set-Cookie ヘッダーをキャッシュに入れないようクライアントに明示的に伝える Cache-Control ヘッダーが自動的に追加されます。 このプロパティーが false に設定されている場合は、これらのヘッダーは、自動的に追加されません。

このプロパティーは、本製品の以前のバージョンで使用可能であった com.ibm.websphere.cookies.no.header プロパティーと機能的に等価です。

情報
データ・タイプ ブール値
デフォルト はい

DecompressionRatio制限

decompressionRatioLimit プロパティーを使用して、要求本体ペイロードの圧縮率に対する最大圧縮解除率を指定します。 HTTP チャネルは、要求本体を読み取り、本体の圧縮解除時に率を検証します。 圧縮解除率が構成された値を超え、 decompressionTolerance に達した場合、チャネルは要求本体の圧縮解除を停止します。

情報
デフォルト 200

DecompressionTolerance

decompressionTolerance プロパティーを使用して、構成された比率 ( decompressionRatioLimit httpOption 属性で示される) を超える圧縮解除率を HTTP チャネルが許容する最大回数を指定します。 この値に達しても、後続の圧縮解除サイクルに比率制限を超える圧縮解除率が含まれている場合、HTTP チャネルは要求本体の圧縮解除を停止します。

情報
デフォルト 3

DoNotAllowDuplicateSetCookies

DoNotAllowDuplicateSetCookies プロパティーを使用して、HTTP チャネルが複数の Set-Cookie ヘッダーを同じ名前で送信しないようにします。 デフォルト値は false です。

情報
デフォルト 200

EnableBuildBackupList

EnableBuildBackupList プロパティーを使用して、HTTP チャネルがアクセスおよびエラー・ログ・ディレクトリー内のヒストリー・ファイルをスキャンできるようにして、作成されたより新しいログ・ファイルでこれらのファイルをロールオーバーします。

このプロパティーを true に設定すると、HTTP チャネルはアクセスおよびエラー・ログ・ディレクトリー内でヒストリー・ファイルをスキャンして、作成されたより新しいログ・ファイルでこれらのファイルをロールオーバーします。

  • HTTP エラー・ログおよび NCSA アクセス・ログを構成した後、 ロギングを行う HTTP チャネルに対して「NCSA アクセス・ロギングを使用可能にする」フィールドが選択されていることを確認してください。 HTTP チャネルに対してこのフィールドが選択されていることを確認するには、 「サーバー」 > 「サーバー・タイプ」 > WebSphere アプリケーション・サーバー」 > server_name > 「Web コンテナー・トランスポート・チェーン」 > 「HTTP インバウンド・チャネル」をクリックします。 この設定は、true に設定されたこのカスタム・プロパティーが HTTP チャネル機能に対して有効になる前に、有効にする必要があります。
  • このカスタム・プロパティーを使用する場合は、NCSA アクセス・ロギングの構成設定で「チェーン固有のロギングを使用 (Use chain-specific logging)」オプションを選択する必要があります。 デフォルトでは、NCSA アクセス・ロギングについて「グローバル・ロギング・サービスの使用」オプションが選択されます。
情報
データ・タイプ ブール値
デフォルト いいえ

HonorTransferEncoding

HonorTransferEncoding プロパティーを使用して、チャンクが 1 つしかない場合に、HTTP トランスポート・チャネルがチャンク化されたメッセージを content-length で区切られたメッセージに変換する必要があるかどうかを示します。

このプロパティーを true に設定すると、HTTP トランスポート・チャネルは、メッセージが 1 つのチャンクのみで構成されている場合であっても、content-length メッセージに切り替える代わりにチャンクを書き出します。 この設定では、HTTP トランスポート・チャネルが 1 つのチャンク・メッセージごとに 2 回の書き出し (最初はメッセージに関する書き出し、2 回目はメッセージの終わりにマークを付けるゼロ・バイト・チャンクに関する書き出し) を行うため、パフォーマンスに影響があります。

このプロパティーを false に設定すると、HTTP トランスポート・チャネルは、チャンクが 1 つしかない場合に、チャンク化されたメッセージを content-length で区切られたメッセージに変換します。 この設定では、チャネルは content-length メッセージに変換される単一チャンク・メッセージに関する 1 回の書き出しのみを行うので、パフォーマンスが改善されます。

情報
データ・タイプ ブール値
デフォルト いいえ

limitFieldSize

limitFieldSize プロパティーを使用すると、 さまざまな HTTP フィールド (要求 URL や、 個々のヘッダー名または値など) に対するサイズ制限が行えます。 これらのフィールドに対してサイズ制限を行うと、 DoS 攻撃 (Denial of Service attack) に対する保護になります。 フィールドのサイズが許容値を超えると、 リモート・クライアントにエラーが戻されます。

情報
データ・タイプ 整数
デフォルト 32768
範囲 50-32768

limitNumHeaders

limitNumHeaders プロパティーを使用すると、 着信メッセージに含めることができる HTTP ヘッダーの数を制限できます。 この制限を超えると、クライアントにエラーが戻されます。

情報
データ・タイプ 整数
デフォルト 500
範囲 50 から 4000 まで

localLogFilenamePrefix

localLogFilenamePrefix プロパティーを使用すると、 ネットワーク・ログ・ファイルのファイル名のプレフィックスを指定できます。 通常、イン・プロセス最適化が使用可能になっている場合、イン・プロセ ス・パスを通った要求は、Web コンテナーのネットワーク・チャネル・チェ ーンに設定されているログ属性に基づいてログされます。 このプロパティーを使用してネットワーク・ログ・ファイルのファイル名にプレフィックスを追加することができます。 この新しいファイル名は次にイン・プロセス要求のためのログ・ファイルのファイル名として使用されます。 イン・プロセス・パスを通って送信される要求はネットワーク・ログ・フ ァイルの代わりにこのファイルでログに記録されます。 例えば、ネットワーク・トランスポート・チェーンのログ・ファイル名が .../httpaccess.log とついており、このプロパティーがそのチェーンの HTTP チャネルで「local」に設定されている場合、そのチェーンに関連付けられたホストへのイン・プロセス要求のログ・ファイルのファイル名は …/localhttpaccess.log になります。

問題の回避: localLogFilenamePrefix カスタム・プロパティーに値を指定する場合は、 accessLogFileName HTTP チャネル・カスタム・プロパティーも、プロセス要求で使用するログ・ファイルの完全修飾名に設定する必要があります。 $(SERVER_LOG_ROOT) などの変数は、 このカスタム・プロパティーの値に指定できません。
情報
データ・タイプ ストリング

loggingDisable

このカスタム・プロパティーを使用して、指定したチェーンで NCSA、FRCA、およびエラーのロギングを使用不可にします。

情報
データ・タイプ ブール値
デフォルト いいえ

PurgeDataDuringClose

このカスタム・プロパティーは、HTTP チャネルが、接続を閉じる前に、読み取るデータがなくなるまでデータを読み取るようにする場合に使用します。

情報
デフォルト いいえ

QuoteAddedNoCacheValue

このカスタム・プロパティーを使用して、引用符で囲まれた no-cache 属性を、この属性がまだ指定されていない Cache-Control 応答ヘッダーに追加します。

HTTP チャネルは、引用符で囲まれた no-cache 属性を正しくヘッダーに追加します。 次の例で、no-cache 属性は、応答で提供されたこのヘッダーに追加されます: Cache-Control: public, max-age=604800, no-cache="set-cookie"

情報
デフォルト いいえ

RemoveCLHeaderInTempStatusRespRFC7230compat

RemoveCLHeaderInTempStatusRespRFC7230compat プロパティーを使用して、HTTP チャネルが情報状況 1xx または 204 の応答メッセージで Content-Length ヘッダーを送信しないようにします。

情報
デフォルト いいえ

RemoveServerHeader

RemoveServerHeader プロパティーを使用すると、アプリケーション・サーバーから送信された HTTP 応答から、サーバー・ヘッダーを強制的に除去できます。これにより、サーバー・プログラムの ID を非表示にできます。

情報
データ・タイプ ブール値
デフォルト いいえ
[9.0.5.4 以降]

sameSiteLax

このプロパティーを使用して、SameSite 属性に設定されている Lax 値に対する Cookie 名またはパターンのリストを指定します。

単一のワイルドカード文字 (*) を、スタンドアロン値として指定することも、Cookie 名の接頭部の後の文字として指定することもできます。 リスト内の Cookie 名またはパターンはすべて固有でなければなりません。 また、 SameSite 属性に None 値または Strict 値を指定することによって作成される構成の中に含まれる Cookie 名またはパターンを指定することはできません。

[9.0.5.4 以降]

sameSiteNone

このプロパティーを使用して、SameSite 属性に設定されている None 値に対する Cookie 名またはパターンのリストを指定します。

単一のワイルドカード文字 (*) を、スタンドアロン値として指定することも、Cookie 名の接頭部の後の文字として指定することもできます。 リスト内の Cookie 名またはパターンはすべて固有でなければなりません。 また、 SameSite 属性に Lax 値または Strict 値を指定することによって作成される構成の中に含まれる Cookie 名またはパターンを指定することはできません。 この構成の結果として SameSite 値 None を含むように変更された各 Cookie には、Secure 属性も設定されます。

[9.0.5.20 以降]ヒント: Cookie がクロスサイト要求で共有される場合、 sameSiteパーティション・カスタム・プロパティーを trueに設定する必要が生じることがあります。
[9.0.5.20 以降]

sameSiteパーティション

このプロパティーは、 SameSite 属性が Noneに設定されている場合に、Partitioned 属性を Cookie に追加するために使用します。

このプロパティーの true 値は、パーティション属性が追加されることを指定します。

このプロパティーはブラウザーに依存します。 詳しくは、 サポートされるブラウザーのリストを参照してください。

情報
データ・タイプ ブール値
デフォルト いいえ
[9.0.5.4 以降]

sameSiteStrict

このプロパティーを使用して、SameSite 属性に設定されている Strict 値に対する Cookie 名またはパターンのリストを指定します。

単一のワイルドカード文字 (*) を、スタンドアロン値として指定することも、Cookie 名の接頭部の後の文字として指定することもできます。 リスト内の Cookie 名またはパターンはすべて固有でなければなりません。 また、 SameSite 属性に Lax 値または None 値を指定することによって作成される構成の中に含まれる Cookie 名またはパターンを指定することはできません。

ServerHeaderValue

ServerHeaderValue プロパティーを使用して、サーバー・ヘッダーがまだ存在しない場合にサーバーによってすべての発信 HTTP 応答に追加されるサーバー・ヘッダーのデフォルト値を置き換えます。 サーバー・ヘッダーのデフォルト値は WebSphere Application Server v/x.x です。ここで、x.x はご使用のシステムで実行中の WebSphere Application Server のバージョンです。

バージョン 8.5.0.2 より前では、サーバー・ヘッダーが存在しない場合は、デフォルトのサーバー・ヘッダーまたはこのプロパティーの値として指定したヘッダーのいずれかが、サーバーによってすべての発信 HTTP 応答に追加されます。

バージョン 8.5.0.2 から、サーバー・ヘッダーが存在しない場合に、サーバー・ヘッダーがすべての発信 HTTP 応答に自動的に追加されることはなくなっています。 値を指定してこのプロパティーを追加すると、応答に表示されるサーバー・ヘッダーにその値が含まれます。 値 DefaultServerValue を指定した場合、WebSphere Application Server v/x.x がサーバー・ヘッダー値として使用されます。

情報
データ・タイプ ストリング

trustedHeaderOrigin

trustedHeaderOrigin カスタム・プロパティーは、プライベート・ヘッダーを受信するためのアクセス制御リストとして機能します。 例えば、$WSPR プライベート・ヘッダーはプロキシー・サーバーによって送信されます。

フィックスパック 9.0.5.7 より前は、このプロパティーは、コンマ区切りの IP アドレス、値 *、または値 none のリストを受け入れます。 ただし、フィックスパック 9.0.5.7 より前は、リストでホスト名は許可されません。 このリストは、 WebSphere Application Server プライベート・ヘッダーをサーバーに送信することが許可されているプロキシー・サーバーの IP アドレスを示します。 値が *の場合は、すべてのリモート・ホストがプライベート・ヘッダーを送信できます。 しかし、値が none の場合、いずれのリモート・ホストにもプライベート・ヘッダーを送信することが許可されません。

[9.0.5.7 以降]このプロパティーは、コンマ区切りの IP アドレスとホスト名のリスト、値 *、または値 noneを受け入れます。 このリストは、 WebSphere Application Server プライベート・ヘッダーをサーバーに送信することが許可されているプロキシー・サーバーの IP アドレスまたはホスト名を示します。 値が *の場合は、すべてのリモート・ホストがプライベート・ヘッダーを送信できます。 しかし、値が none の場合、いずれのリモート・ホストにもプライベート・ヘッダーを送信することが許可されません。

[9.0.5.7 以降]IP アドレスおよびホスト名には、ワイルドカードを示す * 値を含めることができますが、制限があります。 IP アドレスは、短縮することができず、各フィールドに値が含まれている必要があります。 例えば、値 127.0.0.* および 0:0:0:0:0:ffff:*:* は、IP アドレスとして有効な表現です。 ワイルドカードを使用するホスト名は、値 * で開始する必要があります (例えば、*.ibm.com)。 以下の例で、ワイルドカードが含まれた有効なリストを示します。
localhost, 127.0.0.1, 192.168.*.*, 0:0:0:0:0:ffff:*:*, *.ibm.com, www.example.com

Web コンテナー・カスタム・プロパティー trusted が falseに設定されている場合、 trustedHeaderOrigin プロパティーの設定に関係なく、インバウンド用のプライベート・ヘッダーは処理されません。 さらに、 trustedSensitiveHeaderOrigin カスタム・プロパティーで定義されている IP アドレスは、 trustedHeaderOrigin プロパティーの設定に関係なく、非センシティブ・プライベート・ヘッダーを送信するために暗黙的に信頼されます。

情報
データ・タイプ ストリング
デフォルト *

trustedSensitiveHeaderOrigin

trustedSensitiveHeaderOrigin カスタム・プロパティーは、プロキシー・サーバーによって送信される機密情報のプライベート・ヘッダーを受信するためのアクセス制御リストとして機能します。

フィックスパック 9.0.5.7 より前は、このプロパティーは、コンマ区切りの IP アドレス、値 *、または値 none のリストを受け入れます。 ただし、フィックスパック 9.0.5.7 より前は、リストでホスト名は許可されません。 このリストは、機密性の高い WebSphere Application Server プライベート・ヘッダーをサーバーに送信することが許可されているプロキシー・サーバーの IP アドレスを示します。 このプロパティーが *に設定されている場合、すべてのリモート・ホストがプライベート・ヘッダーを送信できます。 しかし、値が none に設定されている場合、いずれのリモート・ホストにもプライベート・ヘッダーを送信することが許可されません。

[9.0.5.7 以降]このプロパティーは、コンマ区切りの IP アドレスとホスト名のリスト、値 *、または値 noneを受け入れます。 このリストは、機密性の高い WebSphere Application Server プライベート・ヘッダーをサーバーに送信することが許可されているプロキシー・サーバーの IP アドレスまたはホスト名を示します。 値が *の場合は、すべてのリモート・ホストがプライベート・ヘッダーを送信できます。 しかし、値が none の場合、いずれのリモート・ホストにもプライベート・ヘッダーを送信することが許可されません。

[9.0.5.7 以降]IP アドレスおよびホスト名には、ワイルドカードを示す * 値を含めることができますが、制限があります。 IP アドレスは、短縮することができず、各フィールドに値が含まれている必要があります。 例えば、値 127.0.0.* および 0:0:0:0:0:ffff:*:* は、IP アドレスとして有効な表現です。 ワイルドカードを使用するホスト名は、値 * で開始する必要があります (例えば、*.ibm.com)。 以下の例で、ワイルドカードが含まれた有効なリストを示します。
localhost, 127.0.0.1, 192.168.*.*, 0:0:0:0:0:ffff:*:*, *.ibm.com, www.example.com

Web コンテナー・カスタム・プロパティー trusted が falseに設定されている場合、このプロパティーの設定に関係なく、インバウンド用のプライベート・ヘッダーは処理されません。

情報
データ・タイプ ストリング
デフォルト none

SustainedHighVolumeLogging

SustainedHighVolumeLogging プロパティーは、ロギング・コードが項目のバックログを処理できるようにする場合に使用します。 このプロパティーは、管理コンソールで設定します。 「サーバー」 > 「サーバー・タイプ」 > WebSphere アプリケーション・サーバー」 > server_name >> 「Web コンテナー・トランスポート・チェーン」 > chain_name > HTTP_channel_name > 「カスタム・プロパティー」をクリックします。

UseCaseSensitiveKeyMatcher

UseCaseSensitiveKeyMatcher は、accessLogFormat と共に使用されます。

このプロパティーを true に設定すると、accessLogFormat で使用される Key Matcher での大/小文字の区別を許可します。 これは、ディレクティブが小文字と大文字の両方で存在する場合に対処します。

情報
デフォルト いいえ

v0CookieDateRFC1123compat

v0CookieDateRFC1123compat プロパティーを使用して、「V0 Set-Cookie ヘッダー満了」属性の値が 2 桁の年形式でなく 4 桁の年形式で指定されていることを示します。

デフォルトでは、「V0 Set-Cookie ヘッダー満了」属性の値は 2 桁の年形式で使用されます。 以前の RFC1123 を使用する必要がある場合は、v0CookieDateRFC1123compat プロパティーを true に設定します。この場合、「V0 Set-Cookie 満了」属性の値は 4 桁の年形式にする必要があります。

情報
データ・タイプ ブール値
デフォルト いいえ

WaitForEndOfMessage

このカスタム・プロパティーを使用して、応答の処理を開始する前に、チャネルに、メッセージ終結が読み取られるのを待機させます。

情報
デフォルト いいえ