推荐方案
另外更推荐的方法是通过 Tomcat 的配置文件完成,而不是修改代码,具体配置方法为:
在 conf/server.xml 配置文件中的 <Host> 配置项中添加如下配置:
1 |
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" /> |
配置项说明:
- showReport:默认值为true,默认显示报错信息
- showServerInfo:默认值为true,默认显示Tomcat的版本号
其他方案
其他的方案跟 Ubuntu 14.04隐藏Tomcat-7.0.52的版本号与操作系统类型 是一致的,但是具体的细节上存在不小的差异,还是需要记录一下。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ cd ~ $ mkdir catalina $ cd catalina $ cp /usr/share/tomcat9/lib/catalina.jar . $ unzip catalina.jar $ cd org/apache/catalina/util $ vim ServerInfo.properties |
可以看到里面的内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. server.info=Apache Tomcat/9.0.16 (Ubuntu) server.number=9.0.16.0 server.built=Sep 11 2019 19:47:51 UTC |
直接注释掉里面的内容,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # server.info=Apache Tomcat/9.0.16 (Ubuntu) # server.number=9.0.16.0 # server.built=Sep 11 2019 19:47:51 UTC |
修改完成后,把修改完成的数据存储到catalina.jar
中。
1 2 3 4 5 6 7 |
$ cd ~ $ cd catalina $ sudo apt install openjdk-11-jdk-headless $ jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties |
把修改后的catalina.jar
放回到Tomcat
的目录下面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ cd ~ $ cd catalina $ sudo unlink /usr/share/tomcat9/lib/catalina.jar $ sudo mv /usr/share/java/tomcat9-catalina.jar /usr/share/java/tomcat9-catalina.jar.old $ sudo cp catalina.jar /usr/share/java/ $ sudo chmod +r /usr/share/java/catalina.jar $ cd /usr/share/tomcat9/lib $ sudo ln -s ../../java/catalina.jar catalina.jar |
重启Tomcat
的服务
1 |
$ sudo service tomcat9 restart |