ページの先頭行へ戻る
Enterprise Application Platform V1.2.0 Launcherユーザーズガイド

7.1.5 ネットワーク設定の定義項目

定義項目

項目名

要素

プロトコル

/domain/configs/config/network-config/protocols/protocol

HTTP

/domain/configs/config/network-config/protocols/protocol/http

SSL/TLS

/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回のコネクションで処理可能なリクエスト数を指定します。指定できる値は以下のとおりです。

  • 0:キープアライブ無効

  • -1:キープアライブ有効、1回のコネクションで処理可能なリクエスト数は無制限

  • 1~2147483647:キープアライブ有効、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リクエストのプロトコルに合わせた値になります。

  • jakarta.servlet.http.HttpServletRequest#isSecure()メソッドの返却値

  • jakarta.servlet.http.HttpServletRequest#getScheme()メソッドの返却値

  • jakarta.servlet.http.HttpServletRequest#getRequestURL()メソッドが返却するURLのスキーム

  • jakarta.servlet.http.HttpServletRequest#getServerPort()メソッドの返却値

  • jakarta.servlet.http.HttpServletResponse#sendRedirect(String)メソッドによりレスポンスヘッダーに設定されるリダイレクト先URLのスキーム

  • セッションCookieへのSecure属性の付与

  • web.xmlの<transport-guarantee>タグにINTEGRALまたはCONFIDENTIALが指定されている(または、Servlet APIの@jakarta.servlet.annotation.HttpConstraint、@jakarta.servlet.annotation.HttpMethodConstraintで同様の設定になっている)リソースにアクセスする場合のアクセス可否

  • FORM認証による認証時のリダイレクト先URLのスキーム

本定義項目が未設定の場合、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接続を維持する秒数です。本属性で設定した値が、以下のすべてのタイムアウト値として適用されます。

  • キープアライブ接続
    Webコンテナがレスポンスを返却後、次のリクエストが来るまでの間キープアライブ接続を維持する時間

  • 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

空文字列

クライアント認証の動作を指定します。指定できる値は以下のとおりです。

  • 空文字列:クライアント認証を行いません。

  • want:クライアント証明書が送信された場合はクライアント認証を行います。送信されなかった場合はクライアント認証を行わず、処理を継続します。

  • need:必ずクライアント認証を行います。

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(ミリ秒)です。