定義項目
項目名 | 要素 |
---|---|
/domain/configs/config/network-config/protocols/protocol | |
/domain/configs/config/network-config/protocols/protocol/http | |
/domain/configs/config/network-config/protocols/protocol/ssl | |
/domain/configs/config/network-config/network-listeners/network-listener | |
/domain/configs/config/network-config/transports/transport |
プロトコル
/domain/configs/config/network-config/protocols/protocol
プロトコルの設定を表します。
属性名 | 既定値 | 説明 |
---|---|---|
name | なし | プロトコルの名前を指定します。HTTPリスナーの場合は「http-listener」、HTTPSリスナーの場合は「https-listener」を指定します。 |
security-enabled | false | リスナーのSSL/TLS通信を有効にする(true)/しない(false)を指定します。HTTPリスナーの場合は「false」、HTTPSリスナーの場合は「true」を指定します。 |
HTTP
/domain/configs/config/network-config/protocols/protocol/http
HTTPの設定を表します。
属性名 | 既定値 | 説明 |
---|---|---|
dns-lookup-enabled | false | DNS逆引きを有効にする(true)/しない(false)を指定します。 |
header-buffer-length-bytes | 8192 | 受信バッファーサイズを指定します。受信バッファーサイズは、リクエストライン、ヘッダーを解析するために使用するバッファーのサイズを指定する設定です。指定できる値は、1~2147483647(Byte)です。 |
http2-enabled | true | HTTP/2を有効にする(true)/しない(false)を指定します。 注意 HTTP/2を有効にする場合の注意について、「1.5.2 Webアプリケーションの注意事項」の「HTTP/2使用時の注意」を参照してください。 |
max-connections | 250(注1) | キープアライブの有効/無効および、1回のコネクションで処理可能なリクエスト数を指定します。指定できる値は以下のとおりです。
HTTP/2リクエストの場合、設定値にかかわらず、1回のコネクションで処理可能なリクエスト数は無制限です。 |
max-form-post-size-bytes | 2097152 | POSTで送られたBODYの最大サイズをバイト単位で指定します。指定できる値は、1~2147483647(Byte)です。 |
max-post-size-bytes | -1 | リクエストBODYの最大サイズをバイト単位で指定します。指定できる値は、-1~2147483647(Byte)です。-1を指定した場合、リクエストBODYの最大サイズのチェックを実施しません。 |
max-request-headers | 100 | リクエストヘッダー数の上限値を指定します。指定できる値は、1~2147483647です。 |
max-request-parameters | 10000 | HTTPリクエストパラメーター数の最大値を指定します。指定できる値は、-1~2147483647です。-1を指定した場合、パラメーター数は制限されません。 |
max-response-headers | 100 | レスポンスヘッダー数の上限値を指定します。指定できる値は、1~2147483647です。 |
scheme-mapping | なし | HTTPリクエストがWebサーバーやコンテナ動作環境のIngress/Routeなどの装置を経由してLauncherに到達する場合、装置の前段のプロトコル(http/httpsの種別)が格納されているリクエストヘッダー名(X-Forwarded-Protoなど)を指定します。 本定義項目に指定されたリクエストヘッダーがHTTPリクエストに含まれている場合、以下のServlet APIの返却値やレスポンスヘッダーの値が、装置の前段に到達したHTTPリクエストのプロトコルに合わせた値になります。
本定義項目が未設定の場合、Launcherと直接接続されている装置とのプロトコルを使用してServlet APIが動作します。 例 以下の例を使用して、本定義項目の設定が必要な場合について説明します。 クライアント―(https)― OpenShift Route―(http)― Launcher 上記のネットワーク構成の場合、Launcherから見た直接のクライアントであるOpenShift RouteとLauncher間の通信のスキームはhttpであるため、本定義項目が未設定の場合Servlet APIはスキームがhttpのURLを返却・生成します。その後、スキームがhttpのURLが含まれるレスポンスをクライアントが参照して次のリクエストを送る場合、http/httpsの種別が異なるため、クライアントはリクエストの送信に失敗します。 本定義項目に「X-Forwarded-Proto」を設定すると、Servlet APIはリクエストヘッダー「X-Forwarded-Proto」の値を参照してスキームを返却・生成するようになります。OpenShift Routeは上記のネットワーク構成の場合Launcherにリクエストを転送する際に「X-Forwarded-Proto: https」のリクエストヘッダーを付与するため、「https://」から始まるURLを返却・生成するようになります。そのため、OpenShift RouteとLauncher間の通信がhttpの場合でも、httpsのURLをクライアントに返却することで、上記の問題を回避できます。 注意 本定義項目は、HTTPリスナーの場合にのみ有効です。HTTPSリスナーの場合に本定義項目の設定値を変更するとServlet APIの返却値が不定となるため、値を設定しないでください。そのため、前段のスキームがhttp、後段のスキームがhttpsのネットワーク構成にはしないでください。 |
timeout-seconds | 30 | HTTP接続のタイムアウトを指定します。HTTP接続のタイムアウトは、HTTP接続を維持する秒数です。本属性で設定した値が、以下のすべてのタイムアウト値として適用されます。
指定できる値は、10~2147483647(秒)です。 |
uri-encoding | UTF-8 | リクエストのURIの解析に使用するエンコーディングを指定します。指定できる値は、「SJIS」、「EUC_JP」など、Javaでサポートされているエンコーディングです。 |
xpowered-by | false(注2) | Webコンテナが生成するHTTPレスポンスヘッダーに、X-Powered-Byヘッダーフィールドを含める(true)/含めない(false)を指定します。 注意 HTTP/2接続時には、本属性の値にかかわらず、HTTPレスポンスにX-Powered-Byヘッダーフィールドは含まれません。 |
注1)サンプルのdomain.xmlに本属性と既定値があらかじめ記載されています。本属性を削除した場合、値256が指定されたものとして動作します。
注2)サンプルのdomain.xmlに本属性と既定値があらかじめ記載されています。本属性を削除した場合、値trueが指定されたものとして動作します。
SSL/TLS
/domain/configs/config/network-config/protocols/protocol/ssl
SSL/TLSの設定を表します。
属性名 | 既定値 | 説明 |
---|---|---|
cert-nickname | なし | キーストアに含まれる証明書の別名を指定します。「s1as」が初期値としてあらかじめ設定されています。 |
classname | なし | SSL/TLS実装のクラス名を指定します。常に「com.sun.enterprise.security.ssl.GlassfishSSLImpl」を指定します。 |
client-auth | 空文字列 | クライアント認証の動作を指定します。指定できる値は以下のとおりです。
|
ssl3-enabled | false | SSL3の有効(true)/無効(false)を指定します。指定できる値は「false」のみです。 |
tls-enabled | false(注) | TLS1.0の有効(true)/無効(false)を指定します。常に「false」を指定します。 |
tls11-enabled | false(注) | TLS1.1の有効(true)/無効(false)を指定します。常に「false」を指定します。 |
tls12-enabled | true | TLS1.2の有効(true)/無効(false)を指定します。 |
tls13-enabled | true | TLS1.3の有効(true)/無効(false)を指定します。 |
ssl3-tls-ciphers | なし(すべての暗号化方式が有効) | SSL/TLSで利用可能な暗号化方式群を指定します。 指定できる値は、Javaでサポートする暗号化方式です。指定時は暗号化方式にプレフィックスとしてプラス("+")を付加します。複数指定する場合はカンマ(",")で区切ります。 本属性を設定した場合、指定した暗号化方式のみが利用可能になります。ただし、JDK/JREがデフォルトで無効としている暗号化方式は利用できません。 HTTP/2を利用する場合、HTTP/2規約のブラックリストに該当する暗号化方式は利用できません。 |
注)サンプルのdomain.xmlに本属性と既定値があらかじめ記載されています。本属性を削除すると異なる既定値で動作するため、domain.xmlから本属性を削除しないでください。
ネットワークリスナー
/domain/configs/config/network-config/network-listeners/network-listener
ネットワークリスナーの設定を表します。
属性名 | 既定値 | 説明 |
---|---|---|
address | 0.0.0.0 | HTTPリスナーがバインドするIPアドレスを指定します。 |
enabled | true | HTTPリスナーを有効にする(true)/しない(false)を指定します。「false」を指定した場合は、ポートが閉塞されます。 |
name | なし | リスナーの名前を指定します。HTTPリスナーの場合は「http-listener」、HTTPSリスナーの場合は「https-listener」を指定します。 |
port | なし | リスナーが待機するポート番号を指定します。指定できる値は、1~65535です。HTTPリスナーの場合は8080、HTTPSリスナーの場合は8181が初期値としてあらかじめ設定されています。 |
protocol | なし | リスナーが参照するプロトコル名を指定します。HTTPリスナーの場合は「http-listener」、HTTPSリスナーの場合は「https-listener」を指定します。 |
thread-pool | なし | リスナーが参照するスレッドプール名を指定します。常に「http-thread-pool」を指定します。 |
transport | なし | リスナーが参照するトランスポート名を指定します。常に「tcp」を指定します。 |
トランスポート
/domain/configs/config/network-config/transports/transport
トランスポートの設定を表します。
属性名 | 既定値 | 説明 |
---|---|---|
max-connections-count | 4096 | 最大接続数を指定します。リスナーポートのソケットのバックログ数です。接続がアクセプトされるまでの間、接続要求を保持できます。指定できる値は、1~2147483647です。 |
name | なし | トランスポートの名前です。常に「tcp」を指定します。 |
read-timeout-millis | 30000 | 受信タイムアウトを指定します。受信タイムアウトは、リクエストのヘッダーやPOSTリクエストのBODYの受信が、受信タイムアウトで指定した時間以上途絶えた場合に、データの受信を中止するまでのタイムアウトです。指定できる値は、1~2147483647(ミリ秒)です。 |
write-timeout-millis | 30000 | 送信タイムアウトを指定します。送信タイムアウトは、レスポンスをクライアントに返却するときのタイムアウトです。指定できる値は、1~2147483647(ミリ秒)です。 |