1.升级最新版

tocmat升级遇到的问题:启动时启动窗口出现乱码

解决方案:

我们来到tomcat目录的conf子目录中,找到一个名为 "logging.properties" 的文件,打开这个文本文件,找到如下配置项:

java.util.logging.ConsoleHandler.encoding = UTF-8

将 UTF-8 修改为 GBK,修改后的效果为:

java.util.logging.ConsoleHandler.encoding = GBK

保存后,重启tomcat!

参考文档:https://blog.csdn.net/yxzone/article/details/124750692

 

2.删除ROOT文件夹

 

3.tomcat加固调优

这个主要是针对http端口处的配置

 

    <Connector port="8080" protocol="HTTP/1.1"
               relaxedPathChars="\|{}[],%^`~&quot;&lt;&gt;"  
               relaxedQueryChars="\|{}[],%^`~&quot;&lt;&gt;" 
connectionTimeout
="8000" redirectPort="8443" maxParameterCount="1000" URIEncoding="UTF-8" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" connectionUploadTimeout="60000" acceptCount="300" maxThreads="300" maxProcessors="1000" minProcessors="5" />

 

 

relaxedPathChars="\|{}[],%^`~&quot;&lt;&gt;"
relaxedQueryChars="\|{}[],%^`~&quot;&lt;&gt;"

这两个参数主要用于处理报错:java.lang.IllegalArgumentException: 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义

原因:当访问Tomcat服务器上的特定URL时,如果URL中包含RFC 7230和RFC 3986规范中未定义的字符,Tomcat可能会抛出java.lang.IllegalArgumentException异常。

处理方法:虽然可以通过修改Tomcat的server.xml中的Connector配置来允许特定字符,但允许反斜杠\可能导致安全问题,因为它可能被用于路径遍历攻击。因此,这种方法通常不推荐。

 

 

4.配置各种响应头

一开始我还抱有幻想,在tomcat内部配置,但是查看了一圈文档,包括tomcat官方文档之后,我才发现tomcat可以配置的安全策略有限,并不能全部配置

https://blog.csdn.net/weixin_45457937/article/details/97648305

https://blog.csdn.net/m0_61069946/article/details/129652374

https://cloud.tencent.com/developer/article/1622307

http://svn.apache.org/repos/asf/tomcat/site/trunk/docs/tomcat-8.0-doc/config/filter.html

所以最佳方案还是通过nginx配置安全策略,nginx安全配置可以参考:https://www.cnblogs.com/allay/p/17954392

然后反向代理到tomcat上

代理到tomcat遇到的问题:请求地址由原来的http//:1.1.1.1:7001/login变成了http//:1.1.1.1/login

因为前端并未加任何端口,而是tomcat自带的

解决方案:https://blog.51cto.com/nizuimeiabc1/6266122

proxy_set_header Host $host:$server_port; 这行是关键,让代理地址自动带上请求端口!

                location / {

                    proxy_pass   http://127.0.0.1:8080;
                    proxy_set_header Host $host:$server_port;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }

 

posted on 2024-01-26 18:44  06  阅读(86)  评论(0)    收藏  举报