【Tomcat】設定ファイル server.xml ~ Connector / Attributes 編~

■ Connector

 * クライアントからのリクエストを処理するコネクタの設定
 * サービスは1つ以上のコネクタを持つ必要がある

 => ユーザは、HTTPやHTTPS/SSLなどさまざまな手段でエンジンにリクエストを送る。
    これらの接続要件への対処は、このコネクタに任される。
    各プロトコルに対応した複数のコネクタを持つことで、どのような接続でリクエストが送られてきても
    エンジンが同様に処理し、レスポンスをコネクタに任せることができる。

 * 以下は、Tomcat8をベースに記載する(少しずつ埋めていく)
http://tomcat.apache.org/tomcat-8.0-doc/config/http.html
 * 古い(Tomcat5)が以下も参考になるかも。
http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/ssl-howto.html

■ 属性 / Attributes

https://tomcat.apache.org/tomcat-8.5-doc/config/http.html
* 共通属性 / Common Attributes

allowTrace

 * HTTPのTrace Methodを利用できるようにするか否か
 * デフォルト:false

asyncTimeout

enableLookups

 * ログを記録する際に、IPかDNSからlookupしたホスト名にするか

maxHeaderCount

maxParameterCount

 * GETとPOST合算のリクエストパラメータ(パラメータ名と値の組み合わせ)数の最大値
  => 超えた分は無視される。
 * デフォルトは、 10000(1万)
 * 無制限にしたい場合 0以下 を設定

maxPostSize

 * POSTリクエストの最大サイズ[バイト]
 * デフォルトは、 2097152 (2MB)
 * 無制限にしたい場合 0 を設定

maxSavePostSize

parseBodyMethods

port

 * コネクションを待ち受けるTCPのポート番号を設定
 * ほかのアプリケーションで利用しているポート番号は利用できない

protocol

 * 流れてくるトラフィックを処理するプロトコルを設定
 * 初期設定はHTTP/1.1コネクタが設定
 * 設定できるプロトコル 
  + org.apache.coyote.http11.Http11Protocol     : ブロックJavaコネクタ
  + org.apache.coyote.http11.Http11NioProtocol  : 非ブロックJava NIO コネクタ
  + org.apache.coyote.http11.Http11Nio2Protocol : 非ブロックJava NIO2 コネクタ
  + org.apache.coyote.http11.Http11AprProtocol  : APRApache Portable Runtime)コネクタ

proxyName

proxyPort

redirectPort

 * SSLでの通信が接続されたときに転送されるポートを設定

scheme

 * リクエストが指定したスキーマで送られてくるかを確認
 * 設定できるスキーマ 
  + http  : HTTP(デフォルト)
  + https : SSL

secure

 * リクエストがSSL通信かどうかをチェック
 * デフォルト:false

URIEncoding

 * URI内のリクエストパラメータの文字コードを指定(例「URIEncoding="UTF-8"」)
Tomcat7
[[https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Common_Attributes]]
 * Default : ISO-8859-1
From Tomcat8
[[https://tomcat.apache.org/tomcat-8.0-doc/config/http.html#Common_Attributes]]
 * Default : UTF-8

useBodyEncodingForURI

 * Request.setCharacterEncodingの文字コードをURLに適用するか
 * デフォルト:false

useIPVHosts

 * デフォルト:false

xpoweredBy

 * デフォルト:false
* 標準実装 / Standard Implementation

acceptCount

 * 処理できるthreadがすべて利用中である場合の、キューの大きさ。
  => このキューの大きさをも超えるとリクエストが拒否される
 * デフォルトは100

acceptorThreadCount

acceptorThreadPriority

address

bindOnInit

 * コネクタによって使用されるソケットの結びつき(バウンド)のタイミングをコントロールします。
 * 設定によって、以下のようになる
  + bindOnInit = true(デフォルト)
   => コネクタが初期化時に、ソケットを結びつく
   => コネクタが破棄された場合に、そのソケットの結びつきを解除
  + bindOnInit = false
   => コネクタが開始された時に、そのソケットを結びつく
   => コネクタが停止された場合に、そのソケットの結びつきを解除

compressableMimeType

compression

compressionMinSize

connectionLinger

 * クライアントリクエストからのソケット接続をクローズする際、
   該当コネクションを一定時間存続させることが可能になる
 * デフォルトは「-1」で、その際はこの機能を無効化する(すぐさまソケット接続はクローズされる)

connectionTimeout

デフォルトは「60000 [milisec]」= 60[sec]
 * コネクションを受け付けてからコネクタが待ち受ける時間 (単位はミリ秒)
  => 『リクエスト&レスポンスが終了してからHTTPセッションを切るまでの待機時間
  (Tomcat 側から FIN パケットが飛ばすまでの待機時間)』の模様。(以下のサイト参照)
http://a4dosanddos.hatenablog.com/entry/2013/07/18/233208
https://ameblo.jp/uniuni797/entry-11627238760.html
 * デフォルト値とは、60000 [milisec]だが、デフォルトの設定ファイルに記載されている値は、20000 [milisec]
 * 設定したくない(無限)場合は、「-1」を設定

connectionUploadTimeout

disableUploadTimeout

Executorタグ

https://blogs.yahoo.co.jp/dk521123/37307732.html
 * 設定することで1つのサービス内でスレッドプールを共有できる
使用上の注意
 * <Executor>タグは、<Connector>タグの前に設定しなければ、
   <Connector>タグに利用されないので注意

executorTerminationTimeoutMillis

keepAliveTimeout

 * Keep-aliveのタイムアウト時間(単位はミリ秒)
 * Keep-aliveについては、以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/34622835.html

maxConnections

デフォルトは、NIO/NIO2:10000. APR/native:8192
 * サーバが受け入れて処理する最大接続数

maxExtensionSize

maxHttpHeaderSize

maxKeepAliveRequests

maxSwallowSize

maxThreads

デフォルトは200
 * リクエストを処理するためのスレッドの最大数
http://www.atmarkit.co.jp/ait/articles/0708/27/news098_2.html

maxTrailerSize

minSpareThreads

デフォルトは、10
 * このコネクタで処理できるリクエスト処理スレッドの最小数を設数

 ※ maxSpareThreadsについて
  => Tomcat6まで。Tomcat7からは廃止。(警告が出る)
http://www.atmarkit.co.jp/ait/articles/1106/24/news113_3.html

noCompressionUserAgents

processorCache

restrictedUserAgents

server

socketBuffer

SSLEnabled

 * このコネクタでSSLトラフィックが利用できるよう設定
 * デフォルト:false

tcpNoDelay

threadPriority

upgradeAsyncWriteBufferSize



関連記事

設定ファイル server.xml ~ Connector / Special Features 編~

https://blogs.yahoo.co.jp/dk521123/35255676.html

設定ファイル server.xml ~ Valve 編~

https://blogs.yahoo.co.jp/dk521123/37348697.html

Tomcat のスレッド制御 ~ Connectorタグ / Executorタグ ~

https://blogs.yahoo.co.jp/dk521123/37307732.html