天天看點

Tomcat8.0 Connector參數

Tomcat8.0 Connector參數

All implementations of Connector support the following attributes:
Attribute Description 描述
allowTrace A boolean value which can be used to enable or disable the TRACE HTTP method. If not specified, this attribute is set to false 是否禁用http trace方法,預設值fales
asyncTimeout The default timeout for asynchronous requests in milliseconds. If not specified, this attribute is set to the Servlet specification default of 30000 (30 seconds) 異步請求的預設逾時時間(以毫秒為機關)。 如果未指定,則此屬性設定為預設值為30000(30秒)
enableLookups Set to true if you want calls to request.getRemoteHost() to perform DNS lookups in order to return the actual host name of the remote client. Set to false to skip the DNS lookup and return the IP address in String form instead (thereby improving performance). By default, DNS lookups are disabled. 如果要調用request.getRemoteHost()執行DNS查找以傳回遠端用戶端的實際主機名,請設定為true。 設定為false則跳過DNS查找,并以String形式傳回IP位址(進而提高性能)。 預設情況下,DNS查找被禁用。
maxHeaderCount The maximum number of headers in a request that are allowed by the container. A request that contains more headers than the specified limit will be rejected. A value of less than 0 means no limit. If not specified, a default of 100 is used. 容器允許的請求中的最大header數。 包含比指定限制更多的header的請求将被拒絕。 小于0表示無限制,預設值100。
maxParameterCount The maximum size in bytes of the POST which will be handled by the container FORM URL parameter parsing. The limit can be disabled by setting this attribute to a value less than zero. If not specified, this attribute is set to 2097152 (2 megabytes). Note that the FailedRequestFilter can be used to reject requests that exceed this limit. POST的最大值(以位元組為機關),将由容器FORM URL參數解析來處理。若小于0則不限制,預設為2097152(2MB)。 請注意,FailedRequestFilter可用于拒絕超出此限制的請求。
maxPostSize The maximum size in bytes of the POST which will be saved/buffered by the container during FORM or CLIENT-CERT authentication. For both types of authentication, the POST will be saved/buffered before the user is authenticated. For CLIENT-CERT authentication, the POST is buffered for the duration of the SSL handshake and the buffer emptied when the request is processed. For FORM authentication the POST is saved whilst the user is re-directed to the login form and is retained until the user successfully authenticates or the session associated with the authentication request expires. The limit can be disabled by setting this attribute to -1. Setting the attribute to zero will disable the saving of POST data during authentication. If not specified, this attribute is set to 4096 (4 kilobytes) 在FORM或CLIENT-CERT身份驗證期間,将由容器儲存/緩沖的POST的最大大小(以位元組為機關)。 對于這兩種類型的身份驗證,POST将在使用者進行身份驗證之前進行儲存/緩沖。 對于CLIENT-CERT認證,POST在SSL握手期間進行緩沖,緩沖區在處理請求時清空。 對于FORM身份驗證,POST将被儲存,同時使用者被重定向到登入表單,并保留,直到使用者成功認證或與身份驗證請求相關聯的會話過期。 可以通過将此屬性設定為-1來禁用該限制。 将屬性設定為零将在身份驗證期間禁用POST資料的儲存。 如果未指定,此屬性設定為4096(4kb)
parseBodyMethods A comma-separated list of HTTP methods for which request bodies will be parsed for request parameters identically to POST. This is useful in RESTful applications that want to support POST-style semantics for PUT requests. Note that any setting other than POST causes Tomcat to behave in a way that goes against the intent of the servlet specification. The HTTP method TRACE is specifically forbidden here in accordance with the HTTP specification. The default is POST 以逗号分隔的HTTP方法清單,請求主體将被解析為與POST相同的請求參數。 這對于希望支援PUT請求的POST樣式語義的RESTful應用程式很有用。 請注意,POST之外的任何設定都會導緻Tomcat的行為違反了servlet規範。 這裡根據HTTP規範特别禁止HTTP方法TRACE。 預設為POST
port The TCP port number on which this Connector will create a server socket and await incoming connections. Your operating system will allow only one server application to listen to a particular port number on a particular IP address. If the special value of 0 (zero) is used, then Tomcat will select a free port at random to use for this connector. This is typically only useful in embedded and testing applications. 您的作業系統将隻允許一個伺服器應用程式偵聽特定IP位址上的特定端口号。 如果使用特殊值0,則Tomcat将随機選擇一個空閑端口用于此連接配接器。
protocol Sets the protocol to handle incoming traffic. The default value is HTTP/1.1 which uses an auto-switching mechanism to select either a non blocking Java NIO based connector or an APR/native based connector. If the PATH (Windows) or LD_LIBRARY_PATH (on most unix systems) environment variables contain the Tomcat native library, the APR/native connector will be used. If the native library cannot be found, the non blocking Java based connector will be used. Note that the APR/native connector has different settings for HTTPS than the Java connectors.To use an explicit protocol rather than rely on the auto-switching mechanism described above, the following values may be used:org.apache.coyote.http11.Http11Protocol - blocking Java connectororg.apache.coyote.http11.Http11NioProtocol - non blocking Java NIO connectororg.apache.coyote.http11.Http11Nio2Protocol - non blocking Java NIO2 connectororg.apache.coyote.http11.Http11AprProtocol - the APR/native connector.Custom implementations may also be used.Take a look at our Connector Comparison chart. The configuration for both Java connectors is identical, for http and https.For more information on the APR connector and APR specific SSL settings please visit the APR documentation
proxyName If this Connector is being used in a proxy configuration, configure this attribute to specify the server name to be returned for calls to request.getServerName(). See Proxy Support for more information.
proxyPort If this Connector is being used in a proxy configuration, configure this attribute to specify the server port to be returned for calls to request.getServerPort(). See Proxy Support for more information.
redirectPort If this Connector is supporting non-SSL requests, and a request is received for which a matching requires SSL transport, Catalina will automatically redirect the request to the port number specified here.
scheme Set this attribute to the name of the protocol you wish to have returned by calls to request.getScheme(). For example, you would set this attribute to “https” for an SSL Connector. The default value is “http”.
secure Set this attribute to true if you wish to have calls to request.isSecure() to return true for requests received by this Connector. You would want this on an SSL Connector or a non SSL connector that is receiving data from a SSL accelerator, like a crypto card, a SSL appliance or even a webserver. The default value is false.
URIEncoding This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, UTF-8 will be used unless the org.apache.catalina.STRICT_SERVLET_COMPLIANCE system property is set to true in which case ISO-8859-1 will be used.
useBodyEncodingForURI This specifies if the encoding specified in contentType should be used for URI query parameters, instead of using the URIEncoding. This setting is present for compatibility with Tomcat 4.1.x, where the encoding specified in the contentType, or explicitly set using Request.setCharacterEncoding method was also used for the parameters from the URL. The default value is false.Notes: 1) This setting is applied only to the query string of a request. Unlike URIEncoding it does not affect the path portion of a request URI. 2) If request character encoding is not known (is not provided by a browser and is not set by SetCharacterEncodingFilter or a similar filter using Request.setCharacterEncoding method), the default encoding is always “ISO-8859-1”. The URIEncoding setting has no effect on this default.
useIPVHosts Set this attribute to true to cause Tomcat to use the IP address that the request was received on to determine the Host to send the request to. The default value is false
xpoweredBy Set this attribute to true to cause Tomcat to advertise support for the Servlet specification using the header recommended in the specification. The default value is false.
The standard HTTP connectors (BIO, NIO, NIO2 and APR/native) all support the following attributes in addition to the common Connector attributes listed above.
Attribute Description 描述
acceptCount The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused. The default value is 100. 所有可能的請求處理線程正在使用時,傳入連接配接請求的最大隊列長度。 當隊列滿時收到的任何請求都将被拒絕。 預設值為100。
acceptorThreadCount The number of threads to be used to accept connections. Increase this value on a multi CPU machine, although you would never really need more than 2. Also, with a lot of non keep alive connections, you might want to increase this value as well. Default value is 1. 用于接受連接配接的線程數。 在多CPU機器上增加此值,盡管您絕對不會需要超過2.另外,通過大量的非保持活動連接配接,您也可以增加此值。 預設值為1。
connectionTimeout The number of milliseconds this Connector will wait, after accepting a connection, for the request URI line to be presented. Use a value of -1 to indicate no (i.e. infinite) timeout. The default value is 60000 (i.e. 60 seconds) but note that the standard server.xml that ships with Tomcat sets this to 20000 (i.e. 20 seconds). Unless disableUploadTimeout is set to false, this timeout will also be used when reading the request body (if any). 連接配接器在接受連接配接後等待的請求URI行的毫秒數。 使用值-1表示無(即無窮大)逾時。 預設值為60000(即60秒),但請注意Tomcat附帶的标準server.xml将其設定為20000(即20秒)。 除非disableUploadTimeout設定為false,否則讀取請求主體(如果有的話)也将使用此逾時。
keepAliveTimeout The number of milliseconds this Connector will wait for another HTTP request before closing the connection. The default value is to use the value that has been set for the connectionTimeout attribute. Use a value of -1 to indicate no (i.e. infinite) timeout. 連接配接器在關閉連接配接之前等待另一個HTTP請求的毫秒數。 預設值是使用為connectionTimeout屬性設定的值。 使用值-1表示無(即無窮大)逾時。
maxConnections The maximum number of connections that the server will accept and process at any given time. When this number has been reached, the server will accept, but not process, one further connection. This additional connection be blocked until the number of connections being processed falls below maxConnections at which point the server will start accepting and processing new connections again. Note that once the limit has been reached, the operating system may still accept connections based on the acceptCount setting. The default value varies by connector type. For BIO the default is the value of maxThreads unless an Executor is used in which case the default will be the value of maxThreads from the executor. For NIO and NIO2 the default is 10000. For APR/native, the default is 8192.Note that for APR/native on Windows, the configured value will be reduced to the highest multiple of 1024 that is less than or equal to maxConnections. This is done for performance reasons.If set to a value of -1, the maxConnections feature is disabled and connections are not counted. 伺服器在任何給定時間接受和處理的最大連接配接數。當達到這個數字時,伺服器将接受一個進一步的連接配接,但不會處理。這個附加連接配接将被阻塞,直到正在處理的連接配接數降到maxConnections以下,伺服器再次開始接受并重新處理新的連接配接。請注意,一旦達到限制,作業系統仍然可以接受基于acceptCount設定的連接配接。預設值因連接配接器類型而異。對于BIO,預設值是maxThreads的值,除非使用Executor,在這種情況下,預設值将是執行器的maxThreads值。對于NIO和NIO2,預設值為10000.對于APR / native,預設值為8192。請注意,對于Windows上的APR / native,配置的值将減少到小于或等于maxConnections的1024的最高倍數。這是出于性能原因。如果設定為-1,則禁用maxConnections功能,并且不計算連接配接。maxKeepAliveRequests The maximum number of HTTP requests which can be pipelined until the connection is closed by the server. Setting this attribute to 1 will disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and pipelining. Setting this to -1 will allow an unlimited amount of pipelined or keep-alive HTTP requests. If not specified, this attribute is set to 100. 在伺服器關閉連接配接之前,可以流水線的最大HTTP請求數。 将此屬性設定為1将禁用HTTP / 1.0保持活動,以及HTTP / 1.1保持活動和流水線。 将其設定為-1将允許無限量的流水線或保持活動的HTTP請求。 如果未指定,則此屬性設定為100。
maxThreads The maximum number of request processing threads to be created by this Connector, which therefore determines the maximum number of simultaneous requests that can be handled. If not specified, this attribute is set to 200. If an executor is associated with this connector, this attribute is ignored as the connector will execute tasks using the executor rather than an internal thread pool. Note that if an executor is configured any value set for this attribute will be recorded correctly but it will be reported (e.g. via JMX) as -1 to make clear that it is not used. 此連接配接器要建立的請求處理線程的最大數量,是以确定可以處理的最大并發請求數。 如果未指定,則此屬性設定為200.如果執行程式與此連接配接器相關聯,則此屬性将被忽略,因為連接配接器将使用執行程式而不是内部線程池執行任務。 請注意,如果配置了執行程式,則為此屬性設定的任何值都将被正确記錄,但會将其(例如通過JMX)報告為-1,以表明它不被使用。
compression The Connector may use HTTP/1.1 GZIP compression in an attempt to save server bandwidth. The acceptable values for the parameter is “off” (disable compression), “on” (allow compression, which causes text data to be compressed), “force” (forces compression in all cases), or a numerical integer value (which is equivalent to “on”, but specifies the minimum amount of data before the output is compressed). If the content-length is not known and compression is set to “on” or more aggressive, the output will also be compressed. If not specified, this attribute is set to “off”.Note: There is a tradeoff between using compression (saving your bandwidth) and using the sendfile feature (saving your CPU cycles). If the connector supports the sendfile feature, e.g. the NIO connector, using sendfile will take precedence over compression. The symptoms will be that static files greater that 48 Kb will be sent uncompressed. You can turn off sendfile by setting useSendfile attribute of the connector, as documented below, or change the sendfile usage threshold in the configuration of the DefaultServlet in the default conf/web.xml or in the web.xml of your web application. 連接配接器可以使用HTTP / 1.1 GZIP壓縮來嘗試儲存伺服器帶寬。參數的可接受值為“關閉”(禁用壓縮),“開”(允許壓縮,導緻文本資料壓縮),“強制”(強制所有情況下的壓縮)或數字整數值相當于“on”,但指定輸出壓縮前的最小資料量)。如果内容長度不知道,并且壓縮設定為“開”或更積極,則輸出也将被壓縮。如果未指定,則此屬性設定為“關閉”。注意:使用壓縮(節省帶寬)和使用sendfile功能(節省CPU周期)之間存在折衷。如果連接配接器支援發送檔案功能,例如使用sendfile的NIO連接配接器将優先于壓縮。症狀将是靜态檔案大于48 Kb将被未壓縮發送。您可以通過設定連接配接器的useSendfile屬性來關閉sendfile,如下所述,或者在預設conf / web.xml或Web應用程式的web.xml中的DefaultServlet配置中更改發送檔案使用門檻值。
executor A reference to the name in an Executor element. If this attribute is set, and the named executor exists, the connector will use the executor, and all the other thread attributes will be ignored. Note that if a shared executor is not specified for a connector then the connector will use a private, internal executor to provide the thread pool. 對Executor元素中的名稱的引用。 如果設定了此屬性,并且命名的執行程式存在,則連接配接器将使用執行程式,并且所有其他線程屬性将被忽略。 請注意,如果未為連接配接器指定共享執行程式,則連接配接器将使用專用的内部執行程式來提供線程池。