默认首页
如果Tomcat安装后没有部署任何Web应用程序,访问时会看到一个默认的欢迎页面,该页面会泄露Tomcat的版本信息,如下:
解决办法就是禁用默认首页。
方法1:删除或修改默认首页文件
删除或修改Tomcat安装目录下的webapps/ROOT文件夹中的默认首页index.jsp文件,这里演示将默认首页index.jsp文件更名为index.jsp.bak达到移除目的
==方法2:注释或删除相关元素
在Tomcat的安装目录conf/web.xml文件中注释或删除<welcome-file-list>
元素中所有的<welcome-file>
元素,如下:
[root@localhost conf]# pwd
/opt/apache-tomcat-10.1.33/conf
[root@localhost conf]# tail web.xml
......
<welcome-file-list>
<!--<welcome-file>index.html</welcome-file>-->
<!--<welcome-file>index.htm</welcome-file>-->
<!--<welcome-file>index.jsp</welcome-file>-->
</welcome-file-list>
......
[root@localhost conf]#
这种方式需要重启服务,才能生效。上面2种方法配置完成后,再次访问会发现默认首页已无法找到,报错404
方法3:自定义首页文件
通过配置Tomcat的默认欢迎页来自定义首页,在安装目录conf/web.xml文件<welcome-file-list>
元素中设置欢迎页,如下所示:
[root@localhost conf]# tail web.xml
......
<welcome-file-list>
<!--<welcome-file>index.html</welcome-file>-->
<!--<welcome-file>index.htm</welcome-file>-->
<!--<welcome-file>index.jsp</welcome-file>-->
<welcome-file>test.html</welcome-file>
</welcome-file-list>
......
然后将自定义的首页文件test.html放置在Tomcat安装目录下的webapps/ROOT文件夹中。重启服务后默认便会访问自定义的页面内容。
错误页面,如404页面
当访问不存在的资源时,Tomcat默认的404错误页面有时会显示服务器的版本信息,这也是最常见的一种泄露方式,如:
方法1:配置错误重定向页面
在安装目录的conf/web.xml文件中配置自定义的全局错误页面,如下:
<error-page>
<error-code>404</error-code>
<location>/error.html</location>
</error-page>
<error-page>
<error-code>400</error-code>
<location>/error.html</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.html</location>
</error-page>
<error-page>
<error-code>501</error-code>
<location>/error.html</location></error-page>
再在安装目录的webapps/ROOT文件中定义错误页面内容。例如
[root@localhost ROOT]# cat error.html
Sorry, the page you are looking for does not exist
重启服务,然后访问一个不存在的页面,则会展示自定义的错误页面内容。
方法2:配置重写ErrorReportValve
在Tomcat安装目录conf/server.xml文件中配置重写ErrorReportValve,添加如下内容:
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
说明:
• showReport:设置是否显示报错或异常信息
• showServerInfo:设置是否显示Apache Tomcat和版本号
重启服务后刷新页面效果如下:
方法3:直接修改catalina.jar文件(但不推荐)
修改安装目录lib/catalina.jar包文件中org/apache/catalina/util/ServerInfo.properties文件server.info及server.number内容。例如修改为如下内容:
修改后重启服务再次刷新页面效果如下:
个人观点,仅供参考
原创 北极星001 运维记事