tomcat8 server.xml 标签connector 配置说明

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

属性描述
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)都支持以下属性除了常见的连接器上面列出的属性。

属性描述
-------
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)。
maxKeepAliveRequestsHTTP请求的最大数量可以管线式直到服务器连接关闭。 设置这个属性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。

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值