オンデマンド・ルーター (ODR) で自動的に生成された plugin-cfg.xml ファイルのデフォルトの属性値は、オーバーライドできます。
以下のエレメントは com.ibm.ws.odr.plugincfg.<element>.<attributeName> のようにフォーマット設定されています。ここで、<element> は属性を含むエレメントを示す構成ファイル・キーワードの名前、<attributeName> は、そのエレメント内にある属性の名前です。エレメントを JVM システム・プロパティーとして構成します。管理コンソールで ODR の JVM システム・プロパティーを設定するには、「サーバー」>「オンデマンド・ルーター」>「on_demand_router」>「Java およびプロセス管理」>「プロセス定義」>「Java 仮想マシン」>「カスタム・プロパティー」>「新規」をクリックします。
構成
このエレメントは、プラグイン構成ファイルを開始します。このエレメントには、以下のエレメントおよび属性を 1 つ以上組み込むことができます。
- com.ibm.ws.odr.plugincfg.config.ASDisableNagle
- ユーザーが、プラグインとサーバーとの間の接続に対して Nagle のアルゴリズムを使用不可にしようとしているかどうかを指定します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.config.AcceptAllContent
- Content-Length または Transfer-encoding ヘッダーが要求ヘッダーに含まれている場合に、コンテンツを POST、PUT、GET、および HEAD 要求に組み込むことができるかどうかを指定します。この属性には、次の値のいずれかを指定してください。
- true は、すべての要求に対してコンテンツが予想されており、読み取られる場合に指定します。
- false。POST および PUT 要求に対してのみコンテンツが予期され、読み取られるようにする場合。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.config.AppServerPortPreference
- sendRedirect に対して URL を作成するために使用するポート番号を指定します。
デフォルト値は HostHeader です。
- com.ibm.ws.odr.plugincfg.config.ChunkedResponse
- Transfer-Encoding : Chunked 応答ヘッダーが応答内に存在する場合に、プラグインがクライアントへの応答をグループ化するかどうかを指定します。
この属性には、次の値のいずれかを指定してください。
- Transfer-Encoding : Chunked 応答ヘッダーが応答内に存在する場合に、プラグインがクライアントへの応答をチャンクとしてまとめる場合は true。
- 応答をチャンクとしてまとめない場合は False。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.config.IISDisableNagle
- nagle アルゴリズムを使用不可にするかどうかを指定します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.config.IISPluginPriority
- Web サーバーがプラグインをロードするときの優先順位を指定します。この属性には、次の値のいずれかを指定してください。
デフォルト値は High です。
- com.ibm.ws.odr.plugincfg.config.IgnoreDNSFailures
- 開始時に構成内の DNS 障害をプラグインが無視するかどうかを指定します。true に設定されていると、プラグインは構成内の DNS 障害を無視し、各 ServerCluster 内の少なくとも 1 つのサーバーがホスト名を解決した場合は、プラグインは正常に開始します。ホスト名が解決されないサーバーは、構成の存続期間中は使用不可 とマークされます。
ホスト名は、後の要求の送付中に解決されることはありません。DNS 障害が発生すると、プラグイン・ファイルにログ・メッセージが書き込まれ、開始していない Web サーバーの代わりにプラグインが初期化を続行します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.config.RefreshInterval
- プラグインが構成ファイルで更新または変更がないかどうかを確認する時間間隔 (秒)。
プラグインは、プラグインの構成がロードされて以降加えられた変更がないかどうかを、構成ファイルで確認します。
デフォルト値は 60 です。頻繁に変更が行われる開発環境では、60 秒以内の時間間隔を設定してください。
実動環境では、構成に対する更新はそれほど頻繁には行われないため、デフォルトよりも大きい値を設定してください。
プラグインの再ロードに失敗した場合は、そのプラグインのログ・ファイルにメッセージが書き込まれ、
再ロードが成功するまでの間は、前の構成が使用されます。
エラーが発生した場合の詳細については、プラグインのログ・ファイルを参照してください。
- com.ibm.ws.odr.plugincfg.config.ResponseChunkSize
- プラグイン・ファイルは、応答データがすべて読み取られるまで、応答の本文を 64k のチャンク単位で読み取ります。
このため、応答の本文に大量のデータを含む要求の場合は、パフォーマンスの問題が発生します。
応答の本文を読み取る場合に使用する最大チャンク・サイズを指定するには、この属性を使用します。
例えば、Config ResponseChunkSize="N"> のように指定します。
ここで、N はチャンク・サイズ (キロバイト単位) を表します。
応答本文のコンテンツ長が不明の場合は、N キロバイトのバッファー・サイズが割り振られ、
本文は、その全体が読み取られるまで N キロバイト・サイズのチャンク単位で読み取られます。
コンテンツ長が分かっている場合は、コンテンツ長または N のいずれかのバッファー・サイズを使用して、応答の本文を読み取ります。
デフォルトのチャンク・サイズは 64k です。
- com.ibm.ws.odr.plugincfg.config.VHostMatchingCompat
- 仮想ホストの突き合わせにポート番号を使用することを指定します。以下の値を指定できます。
- true。要求を受信するポート番号を使用して、物理的に突き合わせを行う場合。
- false。ホスト・ヘッダーに含まれているポート番号を使用して、論理的に突き合わせを行う場合。
デフォルトは false です。
- com.ibm.ws.odr.plugincfg.config.odrIncludeStopped
- 停止された ODR の組み込みの許可を指定します。以下の値を指定できます。
- True: 停止された ODR を組み込みます。
- False: 停止された ODR を組み込みません。
デフォルトは false です。
- com.ibm.ws.odr.plugincfg.config.TrustedProxyEnabled
- 信頼できるプロキシーを指定します。指定できる値は以下のとおりです。
- True: 信頼できるプロキシーを組み込みます。
- False: 信頼できるプロキシーを組み込みません。
デフォルトは false です。
Log
ログは、プラグインがログ・メッセージを書き込む場合のロケーションとレベルを示します。
構成ファイル内に log が指定されていない場合は、エラー・ログにログ・メッセージが書き込まれることがあります。
- com.ibm.ws.odr.plugincfg.log.Name
- プラグインがエラー・メッセージを書き込むログ・ファイルへの完全修飾パス。
デフォルト値は profileRoot/logs/http_plugin.log です。
- com.ibm.ws.odr.plugincfg.log.LogLevel
- プラグインがログに書き込むログ・メッセージの詳細レベル。この属性には、次の値のいずれかを指定してください。
- トレース。要求プロセスのすべてのステップの詳細がログに記録されます。
- 状態。それぞれの要求に対して選択されたサーバー、および、要求の処理に関するその他のロード・バランシング情報がログに記録されます。
- 警告。異常な要求処理の結果出された、すべての警告およびエラー・メッセージがログに記録されます。
- エラー。異常な要求処理の結果出された、エラー・メッセージのみがログに記録されます。
- デバッグ。要求の処理中に実行された重大なステップがすべてログに記録されます。
- 詳細。要求および応答に関するすべての情報がログに記録されます。
デフォルト値は 「
エラー」です。
注意:
トレース・レベルでは多くのメッセージがログに記録されますが、
そのためにファイル・システムがすぐにいっぱいになってしまう可能性があります。
正常に機能している環境では、パフォーマンスに悪影響を与えるため、トレース設定は使用しないでください。
ServerCluster
このエレメントは、一般的に同じタイプの要求を処理するように構成されているサーバーのグループです。
最も単純なケースでは、クラスターに含まれるサーバー定義は 1 つだけです。複数のサーバーを定義すると、プラグインは、ラウンドロビン・アルゴリズムまたはランダム・アルゴリズムのいずれかを使用して、
定義されているサーバー全体にわたるロード・バランシングを完了します。
デフォルトはラウンドロビンです。
- com.ibm.ws.odr.plugincfg.cluster.CloneSeparatorChange
- 一部のパーベイシブ・デバイスは、セッション類縁性と連動するクローン ID を区切るために使用されるコロン文字 (:) を処理できません。
この属性は、クローンの分離文字に正符号文字 (+) を使用するようプラグインに指示します。
サーバーでも同様に、クローン ID を正符号文字で分離するように構成を変更する必要があります。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.cluster.LoadBalance
- Round Robin 実装の出発点はランダムです。
最初のサーバーはランダムに選択され、その時点以降は、ラウンドロビン値を使用してサーバーが選択されます。
この実装により、プロセス・ベースの複数の Web サーバーでは、同一のサーバーに最初の要求を送信しても、
すべてのプロセスが開始しないことが保証されます。
デフォルトのロード・バランシング・タイプは「ラウンドロビン」です。
- com.ibm.ws.odr.plugincfg.cluster.PostSizeLimit
- プラグインがサーバーに要求の送信を試みる際に許可されている要求内容の最大バイト数。
プラグインは、このサイズを超える要求を受信すると、その要求を終了します。
デフォルト値は -1 バイトです。この値は、ポスト・サイズに制限がないことを示しています。
- com.ibm.ws.odr.plugincfg.cluster.RemoveSpecialHeaders
- プラグインは、特殊なヘッダーを要求に追加してから、その要求をサーバーに送信します。
これらのヘッダーには、後にアプリケーションが使用する、要求に関する情報が格納されています。
デフォルトでは、プラグインはこれらのヘッダーを着信要求から除去してから、必要なヘッダーを追加します。
デフォルト値は true です。この属性を false に設定すると、着信要求からヘッダーが除去されないため、
機密漏れが生じる可能性があります。
- com.ibm.ws.odr.plugincfg.cluster.RetryInterval
- サーバーが停止したとマークされた時刻から、プラグインが接続を再試行する時刻までの間に経過する時間長を指定する整数。
デフォルト値は 60 秒です。
Server
このエレメントは、送信された要求を、プラグイン構成のルーティング・ルールに基づいて
処理するよう構成されているサーバー・インスタンスです。server エレメントは、ローカル・ワークステーションまたはリモート・ワークステーションのいずれかで稼働しているアプリケーション・サーバーに対応しています。
- com.ibm.ws.odr.plugincfg.server.ConnectTimeout
- プラグインがアプリケーション・サーバーとの非ブロッキング接続を実行できるようにします。
非ブロッキング接続は、プラグインが宛先に接続して、ポートが使用可能であるか、使用不可であるかを判別できない場合に役立ちます。
値が指定されていない場合、プラグインはブロッキング接続を実行して、オペレーティング・システムがタイムアウトになり、
そのサーバーに使用不可 とマークすることが許可されるまで、その接続で待機します。
0 よりも大きい値は、正常に接続するまでプラグインが待機する秒数を指定します。
その時間間隔を経過しても接続に成功しない場合、プラグインはそのサーバーを使用不可 とマークして、
クラスターで定義されている別のサーバーのいずれかに移動します。
デフォルト値は 0 です。
- com.ibm.ws.odr.plugincfg.server.ExtendedHandShake
- プロキシー・ファイアウォールがプラグインとアプリケーション・サーバーとの間にある場合に使用されます。
そのような場合、予期されるとおり、プラグインはフェイルオーバーを行いません。
connect() が終了すると、プラグインはサーバーを停止済みとマークします。
ただし、プロキシー・ファイアウォールがプラグインとアプリケーション・サーバーの間にある場合は、
バックエンド・アプリケーション・サーバーが停止しても、connect() は成功します。
つまり、プラグインは他のアプリケーション・サーバーに正しくフェイルオーバーされないことになります。
この属性は、要求を送信する前に必ずプラグインが開始されるようにするために、プラグインに指定します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.server.MaxConnections
- 任意の時点において Web サーバー・プロセスを流れる、サーバーに対する保留中の接続の最大数を指定します。
デフォルト値は -1 に設定されています。
- com.ibm.ws.odr.plugincfg.cluster.WaitForContinue
- 要求内容をアプリケーション・サーバーに送信する前に、HTTP 1.1 100 Continue サポートを使用するかどうかを指定します。
デフォルト値は false です。プラグインは、アプリケーション・サーバーからの 100 Continue 応答を待たずに要求内容を送信します。
アプリケーション・サーバーがタイムアウトが原因で接続を閉じた場合に障害が発生しないようにするため、
このプロパティーは POST 要求に関しては無視されます。
特定のタイプのプロキシー・ファイアウォールと連携するようプラグインを構成する場合は、この機能を使用可能にします。
- com.ibm.ws.odr.plugincfg.TrustedProxyEnabled
プラグインが、信頼できるプロキシー・サーバーをサポートできるようにします。値は、true または false です。
Property
- com.ibm.ws.odr.plugincfg.property.ESIEnable
- Edge Side Include (ESI) プロセッサーを使用可能または使用不可にする場合に使用します。
ESI プロセッサーが無効になっている場合、ファイル内の他の ESI エレメントは無視されます。
デフォルト値は true です。
- com.ibm.ws.odr.plugincfg.property.ESIMaxCacheSize
- キャッシュの最大サイズを指定する整数 (1K バイト単位)。
デフォルトの最大キャッシュ・サイズは 1024 K バイト (1 M バイト) です。キャッシュが満杯になると、その有効期限に最も近いエントリーがキャッシュから除去されます。
- com.ibm.ws.odr.plugincfg.property.ESIInvalidationMonitor
- ESI プロセッサーがアプリケーション・サーバーから無効状態を受け取るかどうかを示します。
デフォルト値は false です。
- com.ibm.ws.odr.plugincfg.property.https.keyring
- このエレメントは、トランスポートのプロトコルが HTTPS に設定されている場合に、初期化パラメーターを指定するために使用します。
この属性は、トランスポートが認識する、サポート対応の名前です。
鍵リング・エレメントのデフォルト値は profileRoot/etc/plugin-key.kdb です。
- com.ibm.ws.odr.plugincfg.property.https.stashfile
- stash ファイルのデフォルト値は、profileRoot/node/etc/plugin-key.sth です。