tomcat服务器安全配置文件 tomcat服务器的配置

TOMCAT配置文件 目录描述?

1、TOMCAT配置文件:

宁洱网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

$CATALINA_HOME/conf/web.xml配置简介

servlet

servlet-namedefault/servlet-name

servlet-classorg.apache.catalina.servlets.DefaultServlet/servlet-class

init-param

param-namedebug/param-name

param-value0/param-value

/init-param

init-param

param-namelistings/param-name

param-valuetrue/param-value

/init-param

load-on-startup1/load-on-startup

/servlet

说明:servlet-name:定义Servlet的名字。servlet-class:指定实现这个Servlet的类。init-param:定义Servlet的初始化参数(包括参数名和参数值),一个 servlet元素中可以有多个init-param元素。load-on-startup:指定当Web应用启动时,装载Servlet的次序。当这个值为正数或零,Servlet容器先加载数值小的Servlet,再一次加载其他数值大的Servlet。如果这个值为负数或没有设定,Servlet将在Web客户首次访问这个Servlet时加载它。

session-config

session-timeout30/session-timeout

/session-config

a.如果某文件资源没有找到,服务器要报404错误,按下述配置则会调用\webapps\ROOT\notFileFound.jsp

error-page

error-code404/error-code

location/notFileFound.jsp/location

/error-page

b.如果执行的某个JSP文件产生NullPointException,则会调用\webapps\ROOT\null.jsp

error-page

exception-typejava.lang.NullPointerException/exception-type

location/null.jsp/location

/error-page

welcome-file-list

welcome-fileindex.html/welcome-file

welcome-fileindex.htm/welcome-file

welcome-fileindex.jsp/welcome-file

/welcome-file-list

默认Web应用的首页文件的设置

报错文件的设置

session 会话过期时间的设置,单位是分钟

servlet的设置

filter过滤器的设置

filter

filter-nameFilterSource/filter-name

filter-classproject4. FilterSource /filter-class

/filter

filter-mapping

filter-nameFilterSource/filter-name

url-pattern/WwwServlet/url-pattern

(url-pattern/haha/*/url-pattern)

/filter-mapping

2、TOMCAT的目录结构

/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件

/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml

/doc:存放Tomcat文档

/server:包含三个子目录:classes、lib和webapps

/server/lib:存放Tomcat服务器所需的各种JAR文件

/server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用

/common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件

/shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)

/logs:存放Tomcat执行时的日志文件

/src:存放Tomcat的源代码

/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录

/work:存放JSP编译后产生的class文件

tomcat 的配置文件有那些

配置文件一般都在conf文件夹里,主要有server.xml,context.xml,tomcat_user.xml,web.xml四个常用配置文件,server主要是服务器设置的,例如端口设置,路径设置。context里设置tomcat数据源,用来连接数据库。tomcat_user主要是用户名和密码的设置。web是默认首页等等之类的设置。

Tomcat基础(2)

Tomcat服务器的配置主要集中于tomcat/conf下的catalina.policy, catalina.properties,context.xml、server.xml、tomcat-users.xml、web.xml文件。

server.xml 是tomcat服务器的核心配置文件,包含了Tomcat的servlet容器(catalina)的所有配置。由于配置的属性特别多,我们在这里主要讲解其中的一部分重要配置。

Server是server.xml的根元素,用于创建一个Server实例,默认使用的实现类是org.apache.catalina.core.standardserver.

port:Tomcat监听的关闭服务器的端口。

shutdown:关闭服务器的指令字符串。

Server内嵌的子元素为Listener, GlobalNamingResources, Service.

默认配置的5个Listener的含义

GlobalNamingResources中定义了全局命名服务

该元素用于创建Service实例,默认使用org.apache.catalina.core.Standardservice,默认情况下,Tomcat仅指定了Service的名称,值为"Catalina",Service可以内嵌的元素为:Listener, Executor, connector, Engine ,其中Listener用于为Service添加生命周期监听器,Executor用于配置Service共享线程池,Connector用于配置Service包含的链接器,Engine用于配置Service中链接器对应的Servlet容器引擎。一个Server服务器,可以包含多个Service服务。

默认情况下Service并未添加共享线程池配置,如果我们想添加一个线程池,可以在下添加如下配置:

属性说明

属性含义

name线程池名称,用于Connector中指定。

nameprefix所创建的每个线程的名称前缀,一个单独的线程名称为namePrefix+threadNumber.

maxThreads池中最大线程数。

minSpareThreads活跃线程数,也就是核心池线程数,这些线程不会被销毁,会一直存在。

maxIdleTime线程空闲时间,超过该时间后,空闲线程会被销毁,默认值为6000 (1分钟) ,单位毫秒。

maxQueuesize在被执行前最大线程排队数目,默认为Int的最大值,也就是广义的无限。除非特殊情况,这个值不需要更改,否则会有请求不会被处理的情况发生。

prestartminSpareThreads启动线程池时是否启动minSpareThreads部分线程。默认值为false,即不启动。

threadPriority线程池中线程优先级,默认值为5,值从1到10。

className

线程池实现类,未指定情况下,默认实现类为org.apache.catalina.core.standardThreadExecutor,如果想使用自定义线程池首先需要实现  org.apache.catalina.Executor接口。

JDK工具jconsole.exe观察线程池被创建

如果不配置共享线程池,那么Catalina各组件在用到线程池时会独立创建。

Connector用于创建链接器实例。默认情况下, server.xml配置了两个链接器,一个支持HTTP协议,一个支持AJP协议。因此大多数情况下,我们并不需要新增链接器配置,只是根据需要对已有链接器进行优化。

属性说明

1) port:端口号,Connector用于创建服务端Socket并进行监听,以等待客户端请求链接。如果该属性设置为0,Tomcat将会随机选择一个可用的端口号给当前Connector使用。

2)protocol :当前Connector支持的访问协议。默认为HTTP/1.1 ,并采用自动切换机制选择一个基于JAVA NIO的链接器或者基于本地APR的链接器(根据本地是否含有Tomcat的本地库判定)。

如果不希望采用上述自动切换的机制,而是明确指定协议,可以使用以下值。

Http协议:

AJP协议

3) connectionTimeOut: Connector接收链接后的等待超时时间,单位为毫秒。-1表示不超时。

4)redirectPort:当前Connector不支持SSL(HTTP协议证书)请求,接收到了一个请求,并且也符合security-constraint约束,需要SSL传输,Catalina自动将请求重定向到指定的端口。

5)executor:指定共享线程池的名称, 也可以通过maxThreads, minSpareThreads等属性配置内部线程池。

6)URIEncoding:用于指定编码URI的字符编码,

Tomcat8.x版本默认的编码为UTF-8,Tomcat7.X版本默认为ISO-8859-1(解决请求字符串乱码问题,Tomcat8版本默认UTF-8不需要指定URI字符编码)。

完整的配置如下:

Engine作为Servlet引擎的顶级元素,内部可嵌入:Cluster、Listener、Realm、Valve和Host。

属性说明:

1)name:用于指定Engine的名称,默认为Catalina。该名称会影响一部分Tomcat的存储路径(如临时文件);

2)defaultHost:默认使用虚拟主机名称,当客户端请求指向的的主机无效时将交由默认虚拟主机处理,默认为localhost。

Host元素用于配置一个虚拟主机,它支持以下嵌入元素:Alias,cluster,Listener,valve,Realm,context,如果在Engine下配置Realm,那么此配置将在当前Engine下的所有Host中共享。同样,如果在Host中配置Realm , 则在当前Host下的所有context中共享。Context中的Realm优先级Host的Realm优先级Engine中的Realm优先级。

属性说明:

1)name:当前Host通用的网络名称,必须与DNS服务器上的注册信息一致。Engine中包含的Host必须存在一个名称与Engine的defaultHost设置一致。

2)appBase:当前Host的应用基础目录,当前Host上部署的web应用均在该目录下(可以是绝对目录,相对路径)。默认为webapps。

3)unpackWARs:设置为true, Host在启动时会将appBase目录下war包解压为目录。设置为false,Host将直接从war文件启动。

4)autoDeploy:控制tomcat是否在运行时定期检测并自动部署新增或变更的web应用。

通过给Host添加别名,我们可以实现同一个Host拥有多个网络名称,配置如下:

Context用于配置一个web应用,默认配置如下:

属性描述 :

1)docBase:Web应用目录或War包的部署路径。可以是绝对路径,也可以是相对于Host appBase的相对路径。

2)Path:Web应用的Context路径。如果我们Host名为localhost,则该web应用访问的路径为:

它支持的内嵌元素为:CookieProcessor,Loader,Manager,Realm,Resources,WatchedResource,Jarscanner,Valve.

该配置文件中,主要配置的是Tomcat的用户,角色等信息,用来控制Tomcat中manager,host-manager的访问权限。

web.xml是web应用的描述文件, 它支持的元素及属性来自于servlet规范定义。在Tomcat中,web应用的描述信息包括tomcat/conf/web.xml中默认配置以及web应用WEB-INE/web.xml下的定制配置。

我们可以通过context-param添加ServletContext初始化参数,它配置了一个键值对,这样我们可以在应用程序中使用javax.servlet.ServletContext.getInitParameter()方法获取参数。 可以直接在servlet中进行应用 。

5.2 会话配置

session-config用于配置web应用会话,包括超时时间Cookie配置以及 会话追踪模式 。它将覆盖server.xml和context.xml

1)session-timeout:超时时间,单位分钟。

2)cookie-config:用于配置会话追踪Cookie

nane:Cookie的名称

domain:Cookie的域名

path: Cookie的路径

comment: 注释

http-only:cookie只能通过HTTP方式进行访问, JS无法读取或修改,此项可以增加网站访问的安全性。

secuze :设置true则此cookie只能通过HTTPS连接传递到服务器,而HTTP连接则不会传递该信息。注意是从浏览器传递到服务器,服务器端的Cookie对像不受此项影响。

max-age:以秒为单位表示cookie的生存期,默认为-1表示是会话Cookie ,浏览器关闭时就会消失。

3)tracking-mode:用于配置会话追踪模式,Servlet3.0版本中支持追踪模式:COOKIE,URL,SSL

ACOOKIE:通过HTTP Cookie 追踪会话是最常用的会话追踪机制, 而且Servlet规范也要求所有的Servlet规范都需要支持Cookie追踪。

B.URL:URL重写是最基本的会话追踪机制。当客户端不支持Cookie时,可以采用URI重写的方式。当采用URI追踪模式时,请求路径需要包含会话标识信息,Servlet容器会根据路径中的会话标识设置请求的会话信息。如:"http: //;jessionid=1234567890。

C.SSL:对于SSL请求,通过SSL会话标识确定请求会话标识。

Servlet的配置主要是两部分,servlet和servlet-mapping;

配置说明:

1)sexvlet-name:指定servle的名称,该属性在web.xml中唯一。

2)servlet-class:用于指定servlet类名

3)init-param:用于指定servlet的初始化参数, 在应用中可以通过HttpServlet.getInitParameter获取。

4) load-on-startup:用于控制在Web应用启动时,Servlet的加载顺序。值小于0, web应用启动时,不加载该servlet,第一次访问时加载

5)enabled: true ,false。若为false ,表示servlet不处理任何请求。

6)url-pattern:用于指定URL表达式,一个servlet-mapping可以同时配置多个url-pattern。

Servlet 中文件上传配置

配置说明:

1)location:存放生成的文件地址。

2) max-file-size:允许上传的文件最大值。默认值为-1,表示没有限制。

3)max-request-size:针对该multi/form-data请求的最大数量,默认值为-1,表示无限制。

4)file-size-threshold:当数量量大于该值时, 内容会被写入文件。

Listener用于监听servlet中的事件,例如context、request、session对象的创建、修改、删除,并触发响应响应。Listener是 观察者模式 的 实现 ,在servlet中主要用于context、request、session对象的生命周期进行监控。在servlet 2.5规范中共定义了8重Listener。在启动时,ServletContextListener的执行顺序与web.xml中的配置顺序一致,停止时执行顺序相反。

配置说明:

1)filter-name:用于指定过滤器名称,在web.xm1中,过滤器名称必须唯一。

2)filter-class:过滤器的全限定类名,该类必须实现Filter接口。

3)async-supported:该过滤器是否支持异步。

4)init-param:用于配置Filter的初始化参数,可以配置多个,可以通过 FilterConfig.getInitParameter 获取

5)url-pattern:指定该过滤器需要拦截的URL。

Tomcat conf/web.xml中配置了web默认访问页面。

Tomcat启动后会尝从上到下的请求顺序。

如果在项目的WEB-INF目录下的web.xml中配置访问页面,则会覆盖Tomcat中的默认配置。

error-page用于配置web项目访问异常时定向的页面,支持HTTP响应码和异常类两种形式。优化用户体验,保证系统安全。

Tomcat中自定义错误页面放入ROOT目录下。

项目中将错误页面放在web目录下,并且会覆盖Tomcat中的配置。

从早期的Tomcat版本开始,就提供了web版的管理控制台,他们是两个独立的web应用,位于webapps目录下。Tomcat提供的管理应用有用于管理的Host的host-manager和用于管理web应用的manager。

这两个web应用主要作用就是为Tomcat提供了管理后台,可以通过这两个应用去管理Tomcat中所配置的虚拟主机、Tomcat中部署的web应用、Tomcat占用的JVM内存分配、JVM参数配比等

Host-manager主要用来管理 虚拟主机 信息。Tomcat启动之后,可以通过 访问该web应用。host-manager默认添加了访问权限控制,当打开网址时,需要输入用户名和密码(conf/tomcat-users.xml中配置) 。所以要想访问该页面,需要在conf/tomcat-users.xml中配置,并分配对应的角色:

1)admin-gui:用于控制页面访问权限

2)admin-script:用于控制以简单文本的形式进行访问

配置如下:

界面:

Manager用来管理部署在当前Tomcat上的web应用,访问路径为 ,同样manager也添加了页面访问控制,因此我们需要为登录用户分配角色为:

Server Status查看服务器状态,给JVM内存优化参考数据


网页题目:tomcat服务器安全配置文件 tomcat服务器的配置
浏览地址:http://csdahua.cn/article/dopogje.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流