Tomcat小记

1. Tomcat核心组件

2.常用配置修改

2.1 端口

2.2 修改内存

2.3 热部署

2.4 数据库连接池与数据源

2.5 Tomcat实现web管理

3.Tomcat配置单点登陆

4.Tomcat安全配置

4.1 关闭Tomcat服务器shutdown端口

4.2 隐藏版本信息

4.3 禁用Tomcat管理页面

4.4 自定义错误等页面

4.5 AJP端口管理

4.6 启用Cookie的HttpOnly


1. Tomcat核心组件

Tomcat的核心组件有两个,一个是Connector,一个是Container

 Connector组件:

  • 接收客户端连接;
  • 加工处理客户端请求,请求报文的解析,和响应报文的组装;解析的过程生成request对象,响应的过程生成response对象。

Container组件:

  • 所有的子容器的父接口;
  • 责任链设计模式。

 

 

2.常用配置修改

2.1 端口

  • 8005:shutdown,负责监听关闭tomcat请求;
  • 8080:HTTP请求端口;
  • 8009:负责和其他HTTP服务建立连接。

安装时默认启动这三个端口。

 

2.2 修改内存

 Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。

TOMCAT_HOME/bin/catalina.bat 

第二行加入:

JAVA_OPTS="-server -Xms256m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m" 

JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'

  • -server:一定要作为第一个参数,在多个CPU时性能佳 ;
  • -Xms:java Heap初始大小,也叫堆内存, 默认是物理内存的1/64,最大不超过物理内存的80%;
  • -Xmx:java heap最大值,建议设为物理内存的一半,不可超过物理内存;
  • -XX:MetaspaceSize : 初始元空间大小,默认是21M;
  • -XX:MaxMetaspaceSize:最大的原空间大小,默认无上限。

配置好之后,分别执行两个批处理文件:

如果执行startup后,CMD一闪而过则表示配置出错。

 

2.3 热部署

热部署就是在不重新启动Tomcat服务器的情况下,将要项目部署到Tomcat服务器中,也就叫做开发解耦。

 

首先启动Tomcat,保证控制台有日志输出表明启动成功。

其他方法参考:https://www.cnblogs.com/Andy01/p/7440838.html

 

2.4 数据库连接池与数据源

数据库连接池就是在程序初始化的时候,集中创建多个数据库连接,进行集中管理供程序使用,保证更快地读写数据库,并且安全可靠。

 

2.5 Tomcat实现web管理

 点击Manager App,弹出登陆页面,选择取消:

 进行配置:

重新启动Tomcat服务器,再次弹出登陆页面进行登录:

直接选择war包进行发布:

但是如果war包有几十上百兆,就会有问题,这是需要修改限制。

 在两个52428800加一个0变成500M。

再重新启动Tomcat。 

 

3.Tomcat配置单点登陆

单点登陆,Single Sign On,简称SSO,是目前比较流行的企业业务整合的解决方案之一。

SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

参考连接:

https://www.imooc.com/video/19214

https://blog.csdn.net/weinichendian/article/details/103845543

https://www.jianshu.com/p/8f51c3c74770?from=timeline

 

4.Tomcat安全配置

在投入生产环境之前主要的初始化配置和一些安全规范。

  • 关闭Tomcat服务器shutdown端口;
  • 隐藏版本信息;
  • 禁用Tomcat管理页面;
  • 自定义错误页面,如404,500;
  • AJP端口管理;
  • 启用cookie的HttpOnly。

4.1 关闭Tomcat服务器shutdown端口

修改\Tomcat\apache-tomcat-9.0.20\conf\server.xml,或者Demo\conf\server.xml

令:shutdown="QWEASD"

 

 重新启动Tomcat。

 

4.2 隐藏版本信息

修改保存,重启Tomcat。

 

4.3 禁用Tomcat管理页面

重新启动Tomcat

 

4.4 自定义错误等页面

自行准备一个错误页面。

将页面放入ROOT目录下:

配置web.xml:

重启Tomcat

 

4.5 AJP端口管理

 或者Demo目录下的conf

如果设置了Nginx反向代理,才可以注释掉,如果是阿帕奇,就必须用这个HTTP协议:

 

4.6 启用Cookie的HttpOnly

Cookie是服务器端写入客户端并保存在客户端的纯本文文件。

或者是

如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性,即便是这样,也不要将重要信息存入cookie。

XSS全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值