Linux-tomcat常见配置详解


端口8005/tcp 安全配置管理

在conf/server.xml 有以下内容

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      </Host>
    </Engine>
  </Service>
</Server>

8005是Tomcat的管理端口,默认监听在127.0.0.1上。无需验证就可发送SHUTDOWN (大小写敏感)这个 字符串,tomcat接收到后就会关闭此Server。

  • 此管理功能建议禁用,可将SHUTDOWN改为一串猜不出的字符串实现
  • 或者port修改成 0, 会使用随机端口,如:36913
  • port设为-1等无效端口,将关闭此功能
  • 此行不能被注释,否则无法启动tomcat服务
<Server port="8005" shutdown="44ba3c71d57f494992641b258b965f28">

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

默认不显示tomcat的http的Server头信息, 可以指定tomcat的http的Server头信息为相应的值

#conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"
redirectPort="8443" Server="SOME STRING"/>
[root@centos7 ~]#curl -I 127.0.0.1:8080
HTTP/1.1 200
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 17 Jul 2020 08:32:52 GMT
#修改配置,指定想显示的tomcat版本
[root@centos7 ~]#vim /usr/local/tomcat/conf/server.xml
......
 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" Server="WangServer"/>
......
[root@centos7 ~]#systemctl restart tomcat
[root@centos7 ~]#curl 127.0.0.1:8080 -I
HTTP/1.1 200
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 17 Jul 2020 08:34:17 GMT
Server: WangServer

其它配置

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

  • service配置

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

<Service name="Catalina">
  • 连接器配置
   <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

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

引擎配置

<Engine name="Catalina" defaultHost="localhost">
  • defaultHost 配置

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

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

多虚拟主机配置

多虚拟主机配置说明

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

 虚拟主机配置过程.

  再添加和配置一个新的虚拟主机,并将myapp部署到/data/webapps目录下

vim conf/server.xml  
#在文件最后面增加下面内容
<Host name="web1.magedu.org" appBase="/data/webapps/" unpackWARs="True"
autoDeploy="false">
#虚拟主机专有访问日志
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="web1_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s
%b" />
</Host>
#以下行是自带的不需要修改
</Engine>
</Service>
</Server>  
#或者如果不加日志也可以用下面简化写法
<Host name="web1.magedu.org" appBase="/data/webapps/" unpackWARs="True"
autoDeploy="false"/>

准备虚拟主机的数据目录

常见虚拟主机根目录
# mkdir /data/webapps/ROOT -pv
# chown -R tomcat.tomcat /data/webapps
# echo web1.magedu.org > /data/webapps/ROOT/index.html

测试

刚才在虚拟主机中主机名定义node1.magedu.org,所以需要主机在本机手动配置一个域名解析。 如果是windows,修改在C:/Windows/System32/drivers/etc下的hosts文件,需要管理员权限。

原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/267765.html

(0)
上一篇 2022年6月19日 00:41
下一篇 2022年6月19日 00:46

相关推荐

发表回复

登录后才能评论