tomcat8 server.xml 标签connector 配置说明 转

介绍
每一个connector标签表示一个连接组建,它支持http/1.1协议,能让tomcat做为一个独立的web服务器,有执行servlet和JSP页面的能力,在当前服务器监听特定的TCP端口。能够一个或多个connector标签,每一个connector做为tomcat服务的一部分,每一个connector使用相关引擎来执行请求处理和建立响应。
属性
公用属性
全部类型connector都支持的属性。javascript

属性 描述
allowTrace 用来启用HTTP跟踪,默认为false
asyncTimeout 设置异步请求超时时间,单位毫秒。默认为30000.
enableLookups 设置为true时request.getRemoteHost()返回实际的主机名,设置为false时request.getRemoteHost()返回IP地址。默认为false。
maxHeaderCount 限制请求Header的长度,若是超过请求将被拒绝。0表示没有限制,默认值为100。
maxParameterCount 设置参数的最大长度,参数由容器自动解析,超出长度的参数将被忽略,0表示没有限制,默认值为10000。请注意, FailedRequestFilter 过滤器能够用来拒绝达到了极限值的请求。
maxPostSize 设置由容器解析的URL参数的最大长度,-1(小于0)为禁用这个属性,默认为2097152(2M) 请注意, FailedRequestFilter 过滤器能够用来拒绝达到了极限值的请求。
maxSavePostSize 最大大小字节的帖子将被保存/缓冲由容器在形式或CLIENT-CERT身份验证。 对于这两种类型的身份验证,以前的帖子将被保存/缓冲用户身份验证。 CLIENT-CERT身份验证,文章对SSL握手的时间缓冲,缓冲清空处理请求。 对表单身份验证后保存在用户定向到登陆表单和保留,直到用户成功进行身份验证或会话相关的身份验证请求到期。 的极限能够禁用这个属性设置为1。设置属性为0将禁用保存POST数据的验证。若是不指定,这个属性被设置为4096(4 kb)。
parseBodyMethods 一个以逗号分隔的请求的HTTP方法的身体将解析请求参数彻底相同的发布。 这是有用的在RESTful应用程序想要支持POST-style PUT请求的语义。 注意后使Tomcat之外的任何设置的行为,违背了servlet规范的意图。 HTTP方法跟踪是专门禁止依照HTTP规范。默认的是post。
port 设置链接器监听的端口(0-65535)。若是设置成0,将随机生成(一般只用于嵌入式和测试应用程序)。
protocol 设置链接器 处理类。如今tomcat提供4种链接器: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 - 本地链接器也可使用自定义实现的链接器。注意: 若是配置的是默认的HTTP/1.1,将自动配置一个 非阻塞的java NIO链接器 或 APR/native(本地链接器)。 若是环境变量(window path 和 LD_LIBRARY_PATH unix\linux)含有tomcat本地库,将使用APR/native链接器。 若是环境变量不存在将使用 非阻塞的java NIO链接器。 APR/native链接器 和 非阻塞的java NIO链接器 配置参数是不同的。建议: 在生产环境中配置一个固定的链接器,不使用自动配置。看看咱们的链接器比较图表。 Java链接器的配置是相同的,http和https。有关APR 链接器的更多信息和APR 具体的SSL设置APR 请访问文档
proxyName 配置这个属性来指定调用request.getServerName()时返回的服务器名称。有关更多信息,请参见代理支持。
proxyPort 配置这个属性来指定调用request.getServerPort()时返回的服务器端口。有关更多信息,请参见代理支持。
redirectPort 配置指定端口来 ssl链接,通常默认配置是8443,可是浏览器默认的是443端口请求ssl服务器,因此在https 下将8443改成443.
scheme 配置这个属性来指定调用request.getScheme()时返回的协议名称。默认是http。若是使用SSL链接器,将本属性设置成https。
secure 若是你在SSL链接器或非SSL链接器 接收一个用SSL过来的请求,将这个属性设置成true,调用request.isSecure()时返回true。默认为false。
URIEncoding 配置URI使用的字符编码,来解码?以前的字符串。 通常状况下默认使用utf-8,在org.apache.catalina.STRICT_SERVLET_COMPLIANCE(系统属性)为true的状况下使用 ISO-8859-1。
useBodyEncodingForURI 当设置为true时 根据http body设置的字符集来解码 url里? 以后的参数。Tomcat 4.1.x 以上的版本支持, setCharacterEncoding方法也用于参数的URL,默认值是false。注意: 这指定若是在contentType应该用于指定的编码URI查询参数,而不是使用URIEncoding。 这个设置存在与Tomcat 4.1.x 兼容。内容类型指定的编码,或者显式地设置使用的要求。 setCharacterEncoding方法也用于参数的URL。默认值是false。注释: 1)此设置仅适用于请求的查询字符串(?以后的字符串),不会影响URIEncoding设置的?以前的字符串解码。2)若是请求字符编码是错误的(不是由SetCharacterEncodingFilter 相似的过滤器或setCharacterEncoding方法 提供字符集),默认编码老是“iso-8859-1”。更详细的解释请看URIEncoding和useBodyEncodingForURI详解
useIPVHosts 设置true,tomcat会根据指定的request header Host来肯定执行的链接器。默认是false。应用场景只能使用域名访问。
xpoweredBy 若设置为true,Tomcat使用规范建议的报头代表支持Servlet的规范版本,默认false。

标准属性
标准的HTTP链接器(BIO、NIO NIO2和APR/native)都支持如下属性除了常见的链接器上面列出的属性。css

属性 描述
acceptCount 当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100。 更详细的解释请看acceptCount解释
acceptorThreadCount 用于接受链接的线程数量。增长这个值在多CPU的机器上,尽管你永远不会真正须要超过2。 也有不少非维持链接,您可能但愿增长这个值。默认值是1。
acceptorThreadPriority 处理的优先级线程。接受新链接使用的线程。 默认值是5(java.lang.Thread.NORM_PRIORITY。NORM_PRIORITY常数)。 看java.lang.Thread的JavaDoc。线程类的更多细节在这个优先级是什么意思。
address 与多个服务器的IP地址,该属性指定的地址将用于监听指定的端口。 默认状况下,将使用这个端口与服务器相关联的全部IP地址。
allowedTrailerHeaders 默认的Tomcat将忽略全部拖车头当处理分块输入。 头要处理,它必须被添加到这个以逗号分隔的标题名称。
bindOnInit 控制时使用的插座链接器被绑定。 默认绑定启动链接器时,释放当链接器被摧毁。 若是设置为false,套接字将被绑定在启动链接器时,释放时中止。
compressableMimeType 一个逗号分隔的列表可使用HTTP压缩的MIME类型。 默认值是text/html,text/xml,text/plain,text/css,text/javascript,application/javascript
compression 链接器可使用HTTP/1.1 GZIP压缩为了节省服务器的带宽。 参数的可接受的值是“关闭”(禁用压缩),“on”(容许压缩,致使文本数据压缩),“力”(力量压缩在全部状况下),或一个数值整数值(至关于“上”,但指定的最小输出压缩以前)的数据量。 若是内容长度是未知的和压缩设置为“on”或更激进,输出也将被压缩。 若是不指定,这个属性被设置为“关闭”。注解: 之间有一个权衡使用压缩使用sendfile(节省带宽)和功能(保存你的CPU周期)。 若是链接器支持sendfile特性,例如NIO链接器、使用sendfile将优先于压缩。 静态文件更大的将48 Kb将未压缩的。 你能够关掉sendfile经过设置useSendfile链接器的属性,以下记录,或改变sendfile使用率阀值配置的DefaultServlet在默认conf/server.xml或在web.xml的web应用程序。
compressionMinSize 若是压缩设置为“on”,那么这个属性可用于指定输出前的最低数量的数据压缩。若是不指定,该属性默认为“2048”。
connectionLinger 秒数在这个链接器将持续使用的套接字时关闭。默认值是 -1,禁用socket 延迟时间。
connectionTimeout 这个链接器将等待的毫秒数,接受一个链接后,请求URI提交。 使用一个值为1表示没有(无限)超时。默认值为60000(即60秒),但请注意,标准的server.xml附带Tomcat这个设置为20000(即20秒)。 除非disableUploadTimeout是设置为false,这超时时也会使用阅读请求主体(若是有的话)。
connectionUploadTimeout 指定超时时间,以毫秒为单位,使用数据上传是在进步。 这只生效disableUploadTimeout是否设置为false。
disableUploadTimeout 这个标志容许servlet容器使用一个不一样的,一般长在数据上传链接超时。 若是不指定,这个属性被设置为true,表示禁用该时间超时。
executor 在一个执行人元素的引用名称。 若是设置了这个属性,指定遗嘱执行人存在,链接器将使用执行程序,和全部其余线程属性将被忽略。 注意,若是没有指定一个共享的遗嘱执行人链接器,链接器将使用一个私有的,内部执行人提供线程池。
executorTerminationTimeoutMillis 私有的时间内部执行人将等待请求处理线程结束以前继续中止链接器的过程。 若是没有设置,默认是0(零)BIO链接器和5000(5秒)NIO,NIO2和APR/native链接器。
keepAliveTimeout 这个链接器的毫秒数将关闭链接以前等待另外一个HTTP请求。 默认值是使用connectionTimeout属性的值被设置。使用一个值为-1表示没有(无限)超时。
maxConnections 最大链接数,服务器将接受和处理在任何给定的时间。 这个数字已经达到时,服务器将接受,但不是过程,另一个链接。 这些额外的链接被阻塞,直到正在处理的链接数量低于maxConnections此时服务器将从新开始接受和处理新链接。 注意,一旦达到极限,操做系统可能仍然基于acceptCount接受链接设置。默认值不一样的链接器类型。 对于生物默认的值是maxThreads除非使用一个执行人在这种状况下,默认的值将maxThreads执行人。 NIO和NIO2默认是10000。APR/native,默认是8192。
maxExtensionSize 最大链接数,服务器将接受和处理在任何给定的时间。 这个数字已经达到时,服务器将接受,但不是过程,另一个链接。 这些额外的链接被阻塞,直到正在处理的链接数量低于maxConnections此时服务器将从新开始接受和处理新链接。 注意,一旦达到极限,操做系统可能仍然基于acceptCount接受链接设置。默认值不一样的链接器类型。 对于生物默认的值是maxThreads除非使用一个执行人在这种状况下,默认的值将maxThreads执行人。 NIO和NIO2默认是10000。APR/native,默认是8192。注解: APR/native在Windows上,配置的值将被减小到最高1024的倍数小于或等于maxConnections。这样作是为了性能的缘由。 若是设置为值为-1,maxConnections功能被禁用和链接不计算在内。
maxHttpHeaderSize 请求和响应HTTP头的最大大小,字节中指定。 若是不指定,这个属性被设置为8192(8 KB)。
maxKeepAliveRequests HTTP请求的最大数量能够管线式直到服务器链接关闭。 设置这个属性1将禁用HTTP/1.0 keep-alive,以及HTTP/1.1 keep-alive和pipelining。 设置为1将容许无限数量的管道或 keep-aliveHTTP请求。若是不指定,这个属性被设置为100。
maxSwallowSize 最大请求体字节数(不包括传输编码开销),将由Tomcat吞下上传失败。 上传失败是当Tomcat知道请求的身体将被忽略但客户仍将其发送。 若是Tomcat不吞下身体的客户不太可能看到响应。 若是没有指定默认将使用2097152(2字节)。 小于0的值代表没有限制应该被强制执行。
maxThreads 请求处理线程的最大数量是由这个链接器,所以决定了同时发生的请求的最大数量,能够处理。 若是不指定,这个属性被设置为200。 若是一个执行人与这个链接器,该属性将被忽略的链接器使用执行程序将执行任务而不是一个内部线程池。
maxTrailerSize 拖头的总长度限制的最后一块分块的HTTP请求。 若是该值是-1,没有限制将会实施。若是没有指定,那么将使用缺省值为8192。
minSpareThreads 最低数量的线程老是运行。若是没有指定,默认为10。
noCompressionUserAgents 价值是一个正则表达式(使用java.util.regex)匹配用户代理头的HTTP客户端压缩不该使用,由于这些客户,虽然他们作的广告支持的功能,有一个破碎的实现。 默认值是一个空字符串(regexp匹配禁用)。
processorCache 协议处理器缓存的处理器对象来提升性能。 该设置决定多少这些对象的缓存。-1意味着无限的,默认是200。 若是不使用Servlet 3.0异步处理,默认是使用同样的maxThreads设置。 若是使用Servlet 3.0异步处理,默认是使用大maxThreads和预期的并发请求的最大数量(同步和异步)。
restrictedUserAgents 价值是一个正则表达式(使用java.util.regex)匹配用户代理头的HTTP客户端HTTP/1.1或HTTP/1.0保持活着不该使用,即便客户广告支持这些特性。 默认值是一个空字符串(regexp匹配禁用)。
server 覆盖服务器的http响应头。 若是设置,该属性的值覆盖了Tomcat缺省和任何服务器头由一个web应用程序。 若是没有设置,任何值指定的应用程序使用。 若是应用程序没有指定一个值,那么使用Apache-Coyote/1.1。除非你是有用的修改,不了你不须要这个功能。
socketBuffer 缓冲区的大小(以字节为单位)套接字提供输出缓冲。-1能够禁用指定缓冲区的使用。默认状况下,将使用9000字节的缓冲区。
SSLEnabled 使用这个属性来启用SSL链接器上的通讯量。 打开SSL握手/加密/解密链接器将这个值设置为true。默认值是false。 当把这个价值真正的你想要设置方案和安全属性传递正确的request.getScheme()和request.isSecure()值servlet的更多信息,请参见SSL支持。
tcpNoDelay 若是设置为true,TCP_NO_DELAY选项将被设置在服务器套接字,而在大多数状况下提升性能。这是默认设置为true。
threadPriority 请求处理线程的优先级在JVM中。默认值是5(java.lang.Thread.NORM_PRIORITY 常数)。看到 java.lang.Thread 的JavaDoc。线程类的更多细节在这个优先级是什么意思。
upgradeAsyncWriteBufferSize 默认大小的缓冲区分配为异步写道,不能在单个操做完成,中指定的字节。 写数据,不能当即将存储在这个缓冲区,直到它能够编写。 若是更多的数据须要存储空间是可用的缓冲区比缓冲区的大小将会增长的时间写做。 若是没有指定将使用默认值为8192。
相关文章
相关标签/搜索