定義項目
カテゴリ | プロパティ | プロパティ名 | get | set | list | 再起動 |
---|---|---|---|---|---|---|
× | × | ○ | - | |||
× | × | ○ | - | |||
× | × | ○ | - | |||
name | ○ | × | × | - | ||
security-enabled | ○ | × | × | - | ||
× | × | ○ | - | |||
connection-upload-timeout-millis | ○ | ○ | × | 不要 | ||
dns-lookup-enabled | ○ | ○ | × | 不要 | ||
dns-lookup-enabled-for-local-name | ○ | ○ | × | 不要 | ||
max-connections | ○ | ○ | × | 不要 | ||
max-post-size-bytes | ○ | ○ | × | 不要 | ||
max-request-parameters | ○ | ○ | × | 不要 | ||
request-check | ○ | ○ | × | 不要 | ||
timeout-seconds | ○ | ○ | × | 不要 | ||
uri-encoding | ○ | ○ | × | 不要 | ||
xpowered-by | ○ | ○ | × | 不要 | ||
× | × | ○ | - | |||
cert-nickname | ○ | ○ | × | 不要 | ||
client-auth | ○ | ○ | × | 不要 | ||
ssl3-enabled | ○ | ○ | × | 不要 | ||
tls-enabled | ○ | ○ | × | 不要 | ||
ssl3-tls-ciphers | ○ | ○ | × | 不要 | ||
× | × | ○ | - | |||
× | × | ○ | - | |||
address | ○ | ○ | × | 必要 | ||
enabled | ○ | ○ | × | 不要 | ||
name | ○ | × | × | - | ||
port | ○ | ○ | × | (注) | ||
protocol | ○ | × | × | - | ||
thread-pool | ○ | × | × | - | ||
transport | ○ | × | × | - | ||
× | × | ○ | - | |||
× | × | ○ | - | |||
acceptor-threads | ○ | ○ | × | 不要 | ||
buffer-size-bytes | ○ | ○ | × | 不要 | ||
max-connections-count | ○ | ○ | × | 不要 | ||
name | ○ | × | × | - |
HTTP(HTTPS)リスナーの場合:不要、運用管理用HTTPリスナーの場合:必要
■ネットワーク設定
${clusterName_instanceName_configName}.network-config
■プロトコル一覧
${clusterName_instanceName_configName}.network-config.protocols
■プロトコル
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}
ポイント
${protocol-name}には、以下を指定します。
HTTPリスナーの場合:http-listener-1
HTTPSリスナーの場合:http-listener-2
プロトコル名
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.name
プロトコルの名前です。
HTTPリスナーの場合:http-listener-1
HTTPSリスナーの場合:http-listener-2
HTTPリスナーのセキュリティ
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.security-enabled
リスナーが、HTTPS用(true)/否か(false)を表します。
HTTPリスナー(http-listener-1)の場合:false
HTTPSリスナー(http-listener-2)の場合:true
■HTTP
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http
接続アップロードタイムアウト
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.connection-upload-timeout-millis
リクエストのヘッダやPOSTリクエストのBODYの受信が、接続アップロードタイムアウトで指定した時間以上途絶えた場合に、データの受信を中止するまでのタイムアウト(単位:ミリ秒)です。
1~2147483647(ミリ秒)
60000(ミリ秒)
ただし、asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、300000(ミリ秒)が設定されているものとして動作します。
リモートホストにおけるDNS逆引きの有効化
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.dns-lookup-enabled
DNS逆引きを有効にする(true)/しない(false)を指定します。
true
DNS逆引きを行います。ただし、Webサーバと連携しており、Webサーバが逆引きを行った場合、Webコンテナでは逆引きを行いません。どちらの場合でもServletRequest#getRemoteHost()は逆引き結果を返します。
false
DNS逆引きを行いません。なお、Webサーバと連携しており、Webサーバが逆引きを行った場合、ServletRequest#getRemoteHost()は逆引き結果を返します。
true
false
false
ローカルホストにおけるDNS逆引きの有効化
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.dns-lookup-enabled-for-local-name
この定義項目はWebサーバと連携しない場合のみ有効です。
DNS逆引きを有効にする(true)/しない(false)を指定します。
true
false
true
1回のコネクションで処理可能なリクエスト数
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.max-connections
キープアライブの有効/無効および、1回のコネクションで処理可能なリクエスト数を指定します。
0:キープアライブ無効
-1:キープアライブ有効、1回のコネクションで処理可能なリクエスト数は無制限
1以上:キープアライブ有効、1回のコネクションで処理可能なリクエスト数に上限あり(設定値が上限)
-1~2147483647
0
ただし、asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、256が設定されているものとして動作します。
POSTリクエストの最大サイズ
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.max-post-size-bytes
POSTで送られたBODYの最大サイズをバイト単位で指定します。
この値が有効なのは、Content-Typeヘッダがapplication/x-www-form-urlencodedである、かつHttpServletRequestの以下のAPIで値を取得した場合です。
getParameter
getParameterNames
getParameterValues
getParameterMap
Content-Lengthヘッダーの値が指定された値よりも大きい場合、上記APIを実行した際にIllegalStateExceptionがスローされます。
注意
ServletRequestのgetReader/getInputStreamで取得したReader/ServletInputStreamを使用して読み込む場合は、無効です。この場合にサイズ制限を行う必要がある場合は、アプリケーション側でサイズをチェックしてください。
Servletのファイルアップロード機能を利用する場合は、この制限値は有効になりません。詳細は「2.6.1.4 ファイルアップロード機能」を参照してください。
1~2147483647(Byte)
2097152(Byte)
HTTPリクエストパラメータ数の最大値
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.max-request-parameters
HTTPリクエストパラメータ数の最大値を設定します。Webコンテナは最大値までのパラメータを読み込み、最大値を超えた分のパラメータは無視します。
「-1」を指定した場合、パラメータ数は制限されません。
なお、POSTリクエストの最大サイズ(max-post-size-bytes)も指定している場合、POSTリクエストの最大サイズの制限が先に有効になります。
-1~2147483647
10000
Webコンテナへアクセスする運用形態
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.request-check
Webコンテナへアクセスする運用形態を指定します。
direct
Webサーバを経由しない運用の場合に指定します。Webサーバを経由したリクエストを受信した場合、Webコンテナはステータスコード400(Bad Request)を返却し、サーバーログにWEB0791メッセージを出力します。
webserver
Webサーバを経由する運用の場合に指定します。Webサーバを経由していないリクエストを受信した場合、Webコンテナはステータスコード400(Bad Request)を返却し、サーバーログにWEB0791メッセージを出力します。
nocheck
Webサーバを経由するリクエストを送信し、かつ故障監視などでWebコンテナへ直接リクエストを送信する場合に指定します。運用形態のチェックを行いません。この場合、セキュリティ強化のため、定義項目「要求を受け付けるIPアドレス」にWebサーバコネクタおよび負荷分散装置などのIPアドレスを指定してください。
direct
webserver
nocheck
direct
ただし、asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、nocheckが設定されているものとして動作します。
キープアライブのタイムアウト
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.timeout-seconds
キープアライブ接続を維持しておく最大秒数です。
10~2147483647(秒)
15
ただし、asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、30が設定されているものとして動作します。
リクエストURIの解析に使用するエンコーディング
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.uri-encoding
リクエストのURIの解析に使用するエンコーディングを指定します。
「SJIS」、「EUC_JP」など、Javaでサポートされているエンコーディング
UTF-8
X-Powered-By ヘッダーフィールド
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.http.xpowered-by
Webコンテナが生成するHTTPレスポンスヘッダーに、X-Powered-Byヘッダーフィールドを含める(true)/含めない(false)を指定します。
true
false
false
ただし、asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、trueが設定されているものとして動作します。
■SSL
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.ssl
証明書のニックネーム
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.ssl.cert-nickname
キーストアに含まれる証明書の別名を指定します。
任意の文字列
s1as
asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、本定義項目は削除されます。
本項目が削除された場合、クライアントからのリクエストをSSLで受け付けできなくなります。
クライアント認証
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.ssl.client-auth
クライアント認証の動作を指定します。以下のいずれかを指定します。
空文字
クライアント認証を行いません。
want
クライアント証明書が送信された場合はクライアント認証を行います。
送信されなかった場合はクライアント認証を行わず、処理を継続します。
need
必ずクライアント認証を行います。
クライアント証明書が送信されなかった場合は認証エラーになります。
空文字
want
need
空文字
SSL3.0有効化
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.ssl.ssl3-enabled
SSL3.0の有効(true)/無効(false)を指定します。
true
false
true
注意
本定義項目をfalseに設定するとセキュリティ強度が低下するため、運用環境ではtrueを設定してください。
本定義項目と「TLS1.0有効化」双方ともfalseに設定する運用は未サポートです。
TLS1.0有効化
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.ssl.tls-enabled
TLS1.0の有効(true)/無効(false)を指定します。
true
false
true
注意
本定義項目をfalseに設定するとセキュリティ強度が低下するため、運用環境ではtrueを設定してください。
本定義項目と「SSL3.0有効化」双方ともfalseに設定する運用は未サポートです。
暗号化方式群
${clusterName_instanceName_configName}.network-config.protocols.protocol.${protocol-name}.ssl.ssl3-tls-ciphers
SSL3.0/TLS1.0で利用可能な暗号化方式を指定します。指定時は暗号化方式にプレフィックスとしてプラス("+")を付加します。複数指定する場合はカンマ(",")で区切ります。本項目を設定した場合、指定した暗号化方式のみが利用可能になります。
省略値に記載された暗号化方式、プラス("+")、カンマ(",")
asadmin setサブコマンドで値を省略して定義項目名と「=」だけを指定した場合、本項目は削除されます。
本項目が削除された場合、以下で使用可能なすべての暗号化方式が有効になります。
暗号化方式 | JDK6 | JDK7 |
---|---|---|
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA | ○ | × |
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA | ○ | ○ |
SSL_DHE_DSS_WITH_DES_CBC_SHA | ○ | × |
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA | ○ | × |
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA | ○ | ○ |
SSL_DHE_RSA_WITH_DES_CBC_SHA | ○ | × |
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA | ○ | × |
SSL_RSA_EXPORT_WITH_RC4_40_MD5 | ○ | × |
SSL_RSA_WITH_3DES_EDE_CBC_SHA | ○ | ○ |
SSL_RSA_WITH_DES_CBC_SHA | ○ | × |
SSL_RSA_WITH_RC4_128_MD5 | ○ | ○ |
SSL_RSA_WITH_RC4_128_SHA | ○ | ○ |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA | ○ | ○ |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 | × | ○ |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA | ○ | ○ |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 | × | ○ |
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA | × | ○ |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA | × | ○ |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 | × | ○ |
TLS_ECDH_ECDSA_WITH_RC4_128_SHA | × | ○ |
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA | × | ○ |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA | × | ○ |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 | × | ○ |
TLS_ECDH_RSA_WITH_RC4_128_SHA | × | ○ |
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA | × | ○ |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | × | ○ |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | × | ○ |
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA | × | ○ |
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA | × | ○ |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | × | ○ |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 | × | ○ |
TLS_ECDHE_RSA_WITH_RC4_128_SHA | × | ○ |
TLS_RSA_WITH_AES_128_CBC_SHA | ○ | ○ |
TLS_RSA_WITH_AES_128_CBC_SHA256 | × | ○ |
TLS_EMPTY_RENEGOTIATION_INFO_SCSV | ○ | ○ |
○:使用可 ×:使用不可
ポイント
暗号化方式は、以下のフォーマットで表されます。
[SSLまたはTLS]_[鍵共有に使用する方式]_WITH_[メッセージの暗号化に使用する方式]_[ハッシュ関数]
鍵共有に使用する方式に「EXPORT」が含まれる場合は、鍵長が512ビットに制限されています。含まれない場合は鍵長に制限はありません。
メッセージの暗号化に使用する方式の鍵長、ブロック長は以下のとおりです。
メッセージの暗号化に | 鍵長 | ブロック長 |
---|---|---|
3DES_EDE_CBC | 168ビット | 64ビット |
AES_128_CBC | 128ビット | 128ビット |
DES_CBC | 56ビット | 64ビット |
DES40_CBC | 40ビット | 64ビット |
RC4_128 | 128ビット | - |
RC4_40 | 40ビット | - |
ハッシュ関数は以下のいずれかを使用します。
ハッシュ関数の表記 | ハッシュ関数 |
---|---|
MD5 | MD5 |
SHA | SHA-1 |
SHA256 | SHA-256 |
注意
SSL通信で使用する暗号化方式は、Webブラウザ等のクライアントがサポートする暗号化方式や優先順位に依存します。クライアント側の動作についてはクライアントのドキュメントを参照してください。
本定義項目で指定する鍵共有に使用する方式、メッセージの暗号化に使用する方式、ハッシュ関数が、以下のような公的機関で策定された最新の基準やガイドラインで推奨されているか確認してください。
NIST(National Institute of Standards and Technology: 米国国立標準技術研究所)
「SP 800-57: Recommendation for Key Management」
「SP 800-131A: Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths」
European Network of Excellence in Cryptology(ECRYPT) II
「ECRYPT II Yearly Report on Algorithms and Key Lengths」
総務省、経済産業省
「電子政府における調達のために参照すべき暗号のリスト(CRYPTREC暗号リスト)」
■ネットワークリスナー一覧
${clusterName_instanceName_configName}.network-config.network-listeners
■ネットワークリスナー
${clusterName_instanceName_configName}.network-config.network-listeners.network-listener.${network-listener-name}
ポイント
なお、${network-listener-name}には、以下を指定します。
HTTPリスナー: http-listener-1
HTTPSリスナー: http-listener-2
運用管理用HTTPリスナー: admin-listener
ネットワークアドレス
${clusterName_instanceName_configName}.network-config.network-listeners.network-listener.${network-listener-name}.address
HTTPリスナーがバインドするIPアドレスを指定します。
サーバにIPアドレスが複数ある場合、HTTPリスナーで使用するIPアドレスを指定してください。
サーバで有効なすべてのIPアドレスを使用する場合は、「0.0.0.0」を指定してください。
任意の文字列
0.0.0.0
HTTPリスナーの有効化
${clusterName_instanceName_configName}.network-config.network-listeners.network-listener.${network-listener-name}.enabled
HTTPリスナーを有効にする(true)/しない(false)を指定します。「false」を指定した場合は、ポートが閉塞されます。
注意
以下の場合、Webサーバとの連携が解除され、「Webコンテナへアクセスする運用形態」が“direct”に設定されます。
Webサーバと連携しているIJServerクラスタに対して、falseを指定した場合
そのため、本定義項目の設定時に「Webコンテナへアクセスする運用形態」の設定結果のメッセージも合わせて出力されることがあります。
true
false
true
HTTPリスナー名
${clusterName_instanceName_configName}.network-config.network-listeners.network-listener.${network-listener-name}.name
HTTPリスナーの名前です。
HTTPリスナーの場合:http-listener-1
HTTPSリスナーの場合:http-listener-2
運用管理用HTTPリスナーの場合:admin-listener
ポート番号
${clusterName_instanceName_configName}.network-config.network-listeners.network-listener.${network-listener-name}.port
リスナーが待機するポート番号です。
IJServerクラスタ配下のサーバーインスタンスのポート番号は、以下のシステムプロパティとして定義されてます。
HTTPリスナーの場合:HTTP_LISTENER_PORT
HTTPSリスナーの場合:HTTP_SSL_LISTENER_PORT
運用管理用HTTPリスナーの場合:ASADMIN_LISTENER_PORT
IJServerクラスタ配下のサーバーインスタンスのポート番号を変更する場合は、本項目を更新せず、上記のシステムプロパティの値を変更してください。
変更方法の例は、「2.7.1.1 HTTPリスナーのポート番号の変更」を参照してください。
また、運用管理用HTTPリスナーのポート番号の変更については、「6.1 Interstage Java EE 6 DASサービスのチューニング」を参照してください。
注意
ポート番号には、システム上のアプリケーションを含むすべてのサービスにおいて、それぞれ異なるポート番号を設定する必要があります。以下の値を設定しないでください。
システム内の他のサービス、システム上のアプリケーションが使用するポート番号
システムが動的に割り当てる領域のポート番号(エフェメラルポート)
ポート番号の設定については、「付録D ポート番号」を参照してください。
1~65535
一般ユーザでJava EEアプリケーションを運用する場合、1~1024のポートを使用することはできません。
Interstage Java EE 6 DASサービス
HTTPリスナー:28282
HTTPSリスナー:28383
運用管理用HTTPリスナー:12011
IJServerクラスタ配下のサーバーインスタンス
HTTPリスナー:システムプロパティHTTP_LISTENER_PORT(自動採番)
HTTPSリスナー:システムプロパティHTTP_SSL_LISTENER_PORT(自動採番)
運用管理用HTTPリスナー:システムプロパティASADMIN_LISTENER_PORT(自動採番)
ただし、asadmin setサブコマンドで値を省略して定義項目名と「=」だけを指定した場合、ポート番号の設定が削除されてしまいます。そのため、この操作を実施しないようにしてください。
リスナーのプロトコル
${clusterName_instanceName_configName}.network-config.network-listeners.network-listener.${network-listener-name}.protocol
リスナーが参照するプロトコル名です。
HTTPリスナーの場合:http-listener-1
HTTPSリスナーの場合:http-listener-2
リスナーのスレッドプール
${clusterName_instanceName_configName}.network-config.network-listeners.network-listener.${network-listener-name}.thread-pool
リスナーが参照するスレッドプール名です。
HTTPリスナー/HTTPSリスナーの場合:http-thread-pool
リスナーのトランスポート
${clusterName_instanceName_configName}.network-config.network-listeners.network-listener.${network-listener-name}.transport
リスナーが参照するトランスポート名です。
tcp
■トランスポート一覧
${clusterName_instanceName_configName}.network-config.transports
■トランスポート
${clusterName_instanceName_configName}.network-config.transports.transport.tcp
アクセプタースレッド数
${clusterName_instanceName_configName}.network-config.transports.transport.tcp.acceptor-threads
アクセプタースレッドの数を指定する設定です。
アクセプタースレッドは、TCP接続をアクセプトした後の接続やキープアライブ中の接続を、データ受信検出時にスレッドプールのキューに入れるスレッドです。スレッドプールに空きがある場合に、アプリケーションの処理が実行されます。
通常はデフォルトの1から変更する必要はありません。
変更する場合は、システムのCPU数までを目安に値を設定してください。
1~2147483647
1
受信バッファーサイズ
${clusterName_instanceName_configName}.network-config.transports.transport.tcp.buffer-size-bytes
リクエストライン、ヘッダを解析するために使用するバッファのサイズを指定する設定です。大きなCookieを使用する場合や、ヘッダの内容が大きくなる場合になどに、値を増やしてください。
なお、以下の式を満たす値を指定する必要があります。
受信バッファーサイズ > リクエストラインと全リクエストヘッダーの合計サイズ
リクエストラインと全リクエストヘッダーの合計サイズが指定した値を超えた場合、サーバーログにGRIZZLY0039、またはGRIZZLY0040が出力され、ステータスコード414(Request-URI Too Long)や400(Bad Request)が返却されます。
また本項目の値を増やした場合、メモリ使用量(ヒープ領域)が増大する可能性があります。
以下の式で見積もった値をメモリ使用量に加算してください。
受信バッファーサイズ × スレッドプールの最大プールサイズ (単位:バイト)
1~2147483647(Byte)
49152(Byte)
ただし、asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、8192(Byte)が設定されているものとして動作します。
最大接続数
${clusterName_instanceName_configName}.network-config.transports.transport.tcp.max-connections-count
リスナーポートのソケットのバックログ数です。
接続がアクセプトされるまでの間、接続要求を保持することができます。
注意
OSの設定によって、ソケットのバックログに滞留可能なリクエストの数が、本プロパティでの設定値と異なる可能性があります。
特にWindowsの場合、200以上の値が指定されても有効になりません(200として動作します)。
1~2147483647
200
ただし、asadmin setサブコマンドで値を省略(定義項目名と「=」だけを指定)した場合、4096が設定されているものとして動作します。
トランスポート名
${clusterName_instanceName_configName}.network-config.transports.transport.tcp.name
トランスポートの名前です。
tcp
関連情報
詳細な説明や関連記事については、以下を参照してください。
内容 | 参照先 |
---|---|
機能説明 | |
チューニング方法 | 運用管理用HTTPリスナーのポート番号の変更については、「6.1 Interstage Java EE 6 DASサービスのチューニング」を参照してください。 |
コマンド | asadminコマンドの以下のサブコマンド |