tomcat server.xml配置属性
Engine配置属性
属性 | 描述 | 默认值 |
backgroundProcessorDelay |
当前Engine及其子容器backgroundProcessor方法执行的延迟时间,包括所有Host和Context,单位s。 如果子容器属性backgroundProcessorDelay的取值为非负数,将不执行。 属性为正数时,tomcat将会创建一个后台线程,等待执行时间后,该线程将执行当前Engine及其所有子容器的backgroundProcessorDelay方法 |
10 |
className | 实例化Engine时使用的类名。指定类必须实现org.apache.catalina.Engine接口。不指定则使用org.apache.catalina.core.StandardEngine | |
defaultHost | 默认Host名称,当根据请求无法找到host时,使用默认Host处理 | |
jvmRoute | 用于在负载均衡场景下启用粘性会话,该标识在整个集群所有tomcat中唯一,而且会附加到生成的会话标识符。通过此值,前端代理可以将某个会话定向到同一个Tomcat实例 | |
name | Engine的逻辑名称。当同一个server中存在多个service时,engine名必须唯一 | |
startStopThreads |
Engine用于启动Host的线程数。如果设置为0,将使用Runtime.getRuntime().availableProcessors()的值。 如果设置为负值,则使用Runtime.getRuntime().availableProcessors()+startStopThreads,如果设置结果小于1,取值为1 |
1 |
Host配置属性
属性 | 描述 | 默认值 |
appBase | 当前Host的基础目录,即web应用的目录路径。可以是绝对路径,也可以是相对路径(相对$CATALINA_BASE) | webapps |
xmlBase |
当前Host的XML基础目录,即Host上的Context描述文件的路径。可以是绝对路径,也可以是相对路径(相对$CATALINA_BASE) 默认为conf/<Engine名称>/<Host名称> |
|
createDirs | 如果设置为true,Tomcat将在启动阶段尝试创建appBase和xmlBase设置的目录,如果创建失败,会打印错误信息,但不会终止启动 | true |
autoDeploy | 用于设置tomcat是否在运行时定期检查新增或存在更新的web应用。如果为true,tomcat定期检测appBase和xmlBase目录,部署发现的新的web应用或Context文件。存在更新的web应用或者Context文件将处罚web应用重新加载 | true |
backgroundProcessorDelay |
当前Host及其子容器backgroundProcess()方法执行的延迟时间,包括所有Context,单位s。 如果子容器属性backgroundProcessorDelay的取值为非负数,将不执行。 属性为正数时,tomcat将会创建一个后台线程,等待执行时间后,该线程将执行当前Host及其所有子容器的backgroundProcessorDelay方法 |
-1 |
className | 实例化Host是,使用的实现类类名。指定类必须实现org.apache.catalina.Host接口 | |
deployIgnore |
用于确定tomcat自动部署以及启动部署时忽略目录的正则表达式。通过此配置,可以将tomcat配置纳入版本控制系统 例如,部署时忽略appBase下的.svn或者CVS目录。该正则表达式相对于appBase目录,并且匹配整个文件或目录名。例如,foo匹配文件名为foo的文件或目录,但不匹配foo.war,foobar等 |
|
deployOnStartup | 用于标识当Tomcat启动时,是否自动部署Host下的web应用 | true |
name | 当前Host的网络名称。Tomcat会自将Host名转换为小写。 | |
startStopThreads |
Host用于启动Context的线程数。如果设置为0,将使用Runtime.getRuntime().availableProcessors()的值。 如果设置为负值,则使用Runtime.getRuntime().availableProcessors()+startStopThreads,如果设置结果小于1,取值为1 |
1 |
undeployOldVersions | 用于确定Tomcat在自动部署过程中是否检查web应用的旧版本。如果发现旧版本,则移除。当autoDeploy为true时使用 | false |
copyXML |
设置为true,在web应用部署是,tomcat会将内嵌在应用中的Context描述文件(/META-INF/context.xml)复制到xmlBase目录下。以后再启动时,优先使用复制的Context文件,即使web应用中的描述文件更新。 如果deployXML为false,那么该属性不生效 |
|
deployXML |
设置为false,Tomcat不会转换web应用内嵌的Context文件(/META-INF/context.xml)。在安全环境下需要设置为false,以避免web应用影响容器配置、 | false |
errorReportValueClass | ||
unpackWARs | 设置为true,Context在启动时会将appBase目录下的WAR包解压。设置为false,将直接从WAR文件中启动web应用。Host的appBase目录外的WAR文件不会解压 | true |
workDir |
当前Host下web应用使用的临时目录。每个应用拥有自己的子目录用于临时读写。如果设置了Context的workDir属性,Host的配置将被覆盖。 如果不指定,每个web应用将使用$CATALINA_BASE/work/{Engine名称}/{Host名称}/{Context名称} |
Context配置
属性 | 描述 | 默认值 | |
allowCasualMultipartParsing | 如果设置为true,Tomcat在web应用调用HttpServletRequest.getPart *或HttpServletRequest.getParameter *时自动转换multipart / form-data请求,即使目标servlet没有被@MultipartConfig注释 | false | |
backgroundProcessorDelay |
当前Context及其子容器(包括wrapper)后台线程执行的延迟时间,单位秒。执行是,将忽略延迟时间为正数的子组件 将此值设置为正值将导致产生线程。等待指定的时间后,线程将在此主机及其所有子容器上调用backgroundProcess方法 则此属性的默认值为-1,这意味着上下文将依赖于其父主机的后台处理线程。 |
-1 | |
className | 实例化Context时,使用的类。此类必须实现org.apache.catalina.Context 接口 |
||
containerSciFilter | 使用正则表达式过滤当前contexttigong de ServletContainerInitializer类,使之不能用于当前Context | ||
cookies | 是否要将cookie用于缓存当前Context的会话标识,false为不缓存 | true | |
crossContext | 设置为true,返回同Host下指定名称的其他Context。设置为false,该方法始终返回为空。默认false,避免将请求分发给其他Context,做到安全防护 |
false | |
docBase |
web应用程序的Document Base(也称为Context Root)目录,或Web应用程序存档文件的路径名 除非在server.xml中定义了Context元素,或者web应用的部署路径不再Host的 |
||
dispatchersUseEncodedPaths | 控制是否期望对用于获取请求分配器的调用中的路径进行编码。这不仅影响Tomcat处理调用以获取请求分配器的方式,还影响Tomcat内部生成用于获取请求分配器的路径的方式。如果未指定,true 则使用默认值。为请求分配器编码/解码路径时,始终使用UTF-8。 |
true | |
failCtxIfServletStartFails |
设置为: 如果未指定,则使用父主机配置中相同名称的属性(如果指定)。否则,将使用默认值 |
false | |
fireRequestListenersOnForwards | 设置为true 在Tomcat转发请求时触发所有已配置的ServletRequestListeners。这主要供使用ServletRequestListeners为请求配置必要环境的CDI框架的用户使用。如果未指定,false 则使用默认值。 |
false | |
logEffectiveWebXml | 设置为true 是否要在应用程序启动时记录用于Web应用程序的有效web.xml(在INFO级别)。有效的web.xml是将应用程序的web.xml与Tomcat配置的任何默认值以及发现的任何web-fragment.xml文件和注释结合在一起的结果。如果未指定,false 则使用默认值。 |
false | |
mapperContextRootRedirectEnabled | 如果启用,则对Web应用程序上下文根的请求将在必要时由Mapper而不是默认Servlet重定向(添加斜杠)。这更有效,但具有确认上下文路径存在的副作用。如果未指定,true 则使用默认值。 |
false | |
override | 设置为true 忽略全局或主机默认上下文中的任何设置。默认情况下,将使用来自默认上下文的设置,但可以通过为上下文显式设置相同的属性来覆盖这些设置。 |
false | |
path |
此Web应用程序的上下文路径与每个请求URI的开头匹配,以选择适当的Web应用程序进行处理。特定主机内的所有上下文路径必须唯一。如果您指定一个空字符串(“”)的上下文路径,那么您正在为此主机定义默认的 Web应用程序,它将处理所有未分配给其他上下文的请求。 仅当在server.xml中静态定义上下文时,才必须使用此属性。在所有其他情况下,将从用于.xml上下文文件或docBase的文件名中推断出路径。 即使在server.xml中静态定义Context时,也不能设置此属性,除非docBase不在Host的下面 |
||
preemptiveAuthentication | 当设置为true 且用户提供不受安全约束保护的资源的凭据时,如果身份验证器支持抢占式身份验证(Tomcat附带的标准身份验证器则支持),则将处理用户的凭据。如果未指定,false 则使用默认值。 |
false | |
privileged | 设置为true 允许此上下文使用容器servlet,例如管理器servlet。使用该privileged 属性会将上下文的父类加载器更改为 服务器类加载器,而不是共享类加载器。请注意,在默认安装中,“ 公共”类加载器用于“ 服务器”和“ 共享” 类加载器。 |
false | |
reloadable | 设置为true ,如果你想卡塔利娜监测类 /WEB-INF/classes/ 和/WEB-INF/lib 更改,并自动如果检测到变化重新加载Web应用程序。此功能在应用程序开发期间非常有用,但是它需要大量的运行时开销,因此不建议在已部署的生产应用程序上使用。这就是为什么此属性的默认设置为false的原因。但是,您可以使用Manager Web应用程序来触发按需重新加载已部署的应用程序。 |
false | |
resourceOnlyServlets | |||
sendRedirectBody | 如果为true ,则重定向响应将包括一个简短的响应主体,该主体包含RFC 2616建议的重定向详细信息。由于包括响应主体可能会对某些应用程序组件(例如压缩过滤器)造成问题,因此默认情况下将其禁用。 |
false | |
sessionCookieDomain | 用于为此上下文创建的所有会话cookie的域。如果设置,则它将覆盖Web应用程序设置的任何域。如果未设置,则将使用Web应用程序指定的值(如果有)。 | ||
sessionCookieName |
|
||
sessionCookiePath |
用于为此上下文创建的所有会话cookie的路径。如果设置,它将覆盖Web应用程序设置的任何路径。如果未设置,则将使用由Web应用程序指定的值,如果Web应用程序未显式设置一个,则将使用上下文路径。要将所有Web应用程序配置为使用空路径(这对于Portlet规范实现很有用),请 注意:使用的一个Web应用程序 |
true | |
sessionCookiePathUsesTrailingSlash | true | ||
swallowAbortedUploads |
设置为false如果Tomcat应该不阅读中止上传,而是中止客户端连接任何额外要求的身体数据。在以下情况下使用此设置:
不读取其他数据将更快地释放请求处理线程。不幸的是,如果大多数HTTP客户端无法编写完整的请求,它们将不会读取响应。 默认值为 请注意,如果在触发5xx响应的请求处理过程中发生错误,则写入错误响应后,所有未读的请求数据将始终被忽略,并且客户端连接将被关闭。 |
false | |
tldValidation | 如果此标志的值为true ,则在上下文启动时将对TLD文件进行XML验证。如果 org.apache.catalina.STRICT_SERVLET_COMPLIANCE system属性设置为 true ,则此属性 true 的默认值为,否则默认值为false 。将此属性设置为true 会导致性能下降。 |
||
useHttpOnly | 是否应在会话cookie上设置HttpOnly标志,以防止客户端脚本访问会话ID?默认为 true 。 |
true | |
useRelativeRedirects | 控制通过调用生成的HTTP 1.1和更高版本的位置标头 javax.servlet.http.HttpServletResponse#sendRedirect(String) 将使用相对还是绝对重定向。相对重定向更有效,但可能不适用于更改上下文路径的反向代理。应该注意的是,由于它产生了多个问题,因此不建议使用反向代理来更改上下文路径。绝对重定向应与更改上下文路径的反向代理一起使用,但是org.apache.catalina.filters.RemoteIpFilter 如果过滤器正在更改方案和/或端口,则可能导致问题 。如果 org.apache.catalina.STRICT_SERVLET_COMPLIANCE system属性设置为 true ,则此属性 false 的默认值为,否则默认值为true 。 |
||
validateClientProvidedNewSessionId | 当客户端为新会话提供ID时,此属性控制该ID是否得到验证。使用客户端提供的会话ID的唯一用例是在多个Web应用程序之间具有通用的会话ID。因此,任何客户端提供的会话ID应该已经存在于另一个Web应用程序中。如果启用此检查,则仅当会话ID存在于当前主机的至少一个其他Web应用程序中时,才使用客户端提供的会话ID。请注意,无论此设置如何,都将始终执行以下附加测试:
如果未指定, |
true | |
wrapperClass | org.apache.catalina.Wrapper 将用于此Context管理的servlet 的实现类的Java类名称。如果未指定,将使用标准默认值。 |
||
xmlBlockExternal | 如果该标志的值是true ,在解析的 web.xml ,web-fragment.xml , tomcat-web.xml ,*.tld ,*.jspx , *.tagx 和tagPlugins.xml 此Web应用程序的文件将不会允许装载外部实体。如果未指定,true 将使用默认值 |
true | |
xmlNamespaceAware | 如果这个标志的值为true ,的解析 web.xml ,web-fragment.xml 并且 tomcat-web.xml 文件此Web应用程序会识别名称空间。请注意*.tld ,*.jspx 和*.tagx 始终使用可识别名称空间的解析器来解析文件,并且 tagPlugins.xml 永远不会使用可识别名称空间的解析器来解析文件(如果有)。还要注意,如果打开此标志,则可能也应该打开xmlValidation 。如果org.apache.catalina.STRICT_SERVLET_COMPLIANCE system属性设置为 true ,则此属性 true 的默认值为,否则默认值为false 。将此属性设置为true 会导致性能下降。 |
||
xmlValidation | 如果这个标志的值为true ,的解析 web.xml ,web-fragment.xml 并且 tomcat-web.xml 文件此Web应用程序将使用验证解析器。如果 org.apache.catalina.STRICT_SERVLET_COMPLIANCE system属性设置为 true ,则此属性 true 的默认值为,否则默认值为false 。将此属性设置为true 会导致性能下降。 |
如果该标志的值是 |
posted on 2020-09-06 14:55 hopeless-dream 阅读(1385) 评论(0) 编辑 收藏 举报