当前位置: 首页 > news >正文

tomcat--安全配置多虚拟机

端口8005/tcp 安全配置管理

  • 8005是Tomcat的管理端口,默认监听在127.0.0.1上。无需验证就可发送SHUTDOWN (大小写敏感)这个字符串,tomcat接收到后就会关闭此Server。
  • 此管理功能建议禁用,可将SHUTDOWN改为一串猜不出的字符串实现或者port修改成 0, 会使用随机端口,如:36913
  • port设为-1等无效端口,将关闭此功能
  • 此行不能被注释,否则无法启动tomcat服务

/usr/local/apache-tomcat-8.5.100/conf/server.xml

<Server port="8005" shutdown="SHUTDOWN">

输入SHUTDOWN关闭tomcat

查看状态

 关闭tomcat

 再次查看状态

显示指定的http服务器版本信息 

/usr/local/apache-tomcat-8.5.100/conf/server.xml

    <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxParameterCount="1000" Server="xf"/>

 其他配置

conf/server.xml中可以配置service,connector, Engine,Host等

service

一般情况下,一个Server实例配置一个Service,name属性相当于该Service的ID

<Service name="Catalina">

连接器配置

redirectPort,如果访问HTTPS协议,自动转向这个连接器。但大多数时候,Tomcat并不会开启
HTTPS,因为Tomcat往往部署在内部,HTTPS性能较差

 <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxParameterCount="1000" Server="xf"/>

引擎配置

 <Engine name="Catalina" defaultHost="localhost">

defaultHost 配置

defaultHost指向内部定义某虚拟主机。缺省虚拟主机可以改动,默认localhost。

<Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true">

value配置

定义访问日志:org.apache.catalina.valves.AccessLogValve
定义访问控制:org.apache.catalina.valves.RemoteAddrValve 

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
deny="10\.0\.0\.\d+"/>

Context 配置

Context作用

  • 路径映射:将url映射至指定路径,而非使用appBase下的物理目录,实现虚拟目录功能
  • 应用独立配置,例如单独配置应用日志、单独配置应用访问控制

字段说明

path:指的是访问的URL路径,如果path与appBase下面的子目录同名,context的docBase路径
优先更高
docBase:可以是磁盘文件的绝对路径,也可以是相对路径(相对于Host的appBase)
reloadable:true表示如果WEB-INF/classes或META-INF/lib目录下.class文件有改动,就会将WEB应用重新加载。生产环境中,建议使用false来禁用

案例

前期准备

配置
cat /usr/local/apache-tomcat-8.5.100/conf/server.xml <Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"><Context path="/test" docBase="/data/app" reloadable="true" />
 访问

多虚拟主机配置

  • name 必须是主机名,用主机名来匹配
  • appBase 当前主机的网页根目录,是相对于 $CATALINA_HOME ,也可以使用绝对路径
  • unpackWARs 是否自动解压war格式
  • autoDeploy 热部署,自动加载并运行应用

前期准备

mkdir -pv /data/webapps/ROOT

chown -R tomcat:tomcat /data/webapps/

echo "www.xxx.com" > /data/webapps/ROOT/index.htm

虚拟主机配置

vim /usr/local/apache-tomcat-8.5.100/conf/server.xml <Host name="www.xxx.com"  appBase="/data/webapps"unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" />不加日志
<Host name="web1.magedu.org" appBase="/data/webapps/" unpackWARs="True"
autoDeploy="false"/>

重启

systemctl restart tomcat

systemctl status tomcat

访问

 修改端口

虚拟主机配置

vim /usr/local/apache-tomcat-8.5.100/conf/server.xml <Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxParameterCount="1000"/>

 查看日志

tail -f /usr/local/tomcat/logs/catalina.out

修改service

[root@localhost ~]# cat /lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=/usr/local/apache-tomcat-8.5.100/conf/tomcat.conf
ExecStart=/usr/local/apache-tomcat-8.5.100/bin/startup.sh
ExecStop=/usr/local/apache-tomcat-8.5.100/bin/shutdown.sh
PrivateTmp=true
#User=tomcat  注释掉
#Group=tomcat  注释掉
[Install]
WantedBy=multi-user.target

重启

systemctl daemon-reload

systemctl restart tomcat.service

访问

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2024年,游戏行业还值得进入吗?
  • 在ARM开发板上,栈大小设置为2MB(常用设置)里面存放的数据
  • 盲人社区生活支持体系:织就一张温暖的网
  • 蓝桥杯嵌入式国赛笔记(2):拓展板按键程序设计
  • pwa动态修改manifest.json(start_url)
  • PHP发票真假API、医疗电子票据查验、发票识别接口开发示例
  • 元组推导式
  • Keras深度学习框架第二十九讲:在自定义训练循环中应用KerasTuner超参数优化
  • qt 布局学习笔记
  • 气膜体育馆主要能耗解析—轻空间
  • 2024,java开发,已经炸了吗?
  • Python 开心消消乐
  • C# 实现腾讯云点播之媒体上传常用接口
  • java中的类加载器
  • 精通C++ STL(二):string类的模拟实现
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • CSS魔法堂:Absolute Positioning就这个样
  • Git初体验
  • linux学习笔记
  • markdown编辑器简评
  • MQ框架的比较
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • SOFAMosn配置模型
  • SpingCloudBus整合RabbitMQ
  • webpack4 一点通
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 给新手的新浪微博 SDK 集成教程【一】
  • 回顾2016
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 前端面试题总结
  • 前端面试之闭包
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用权重正则化较少模型过拟合
  • 提醒我喝水chrome插件开发指南
  • 问题之ssh中Host key verification failed的解决
  • 我这样减少了26.5M Java内存!
  • 小而合理的前端理论:rscss和rsjs
  • 怎么将电脑中的声音录制成WAV格式
  • 智能网联汽车信息安全
  • 字符串匹配基础上
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #图像处理
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (2022 CVPR) Unbiased Teacher v2
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (pycharm)安装python库函数Matplotlib步骤
  • (rabbitmq的高级特性)消息可靠性
  • (八)Flink Join 连接
  • (待修改)PyG安装步骤
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (四)图像的%2线性拉伸