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" 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" />
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; }