ColdFusion 2018如何修改内置Tomcat错误页避免技术版本信息泄露
ColdFusion 2018 内置Tomcat版本信息泄露修复方案
修复核心逻辑
畸形路径/..;/会绕过IIS的错误页配置,直接请求到ColdFusion内置的Tomcat服务,因此需要从Tomcat层隐藏版本标识、自定义错误页,同时拦截畸形请求。
操作步骤
隐藏Tomcat内置版本标识
- 进入ColdFusion 2018内置Tomcat的lib目录,默认路径为
C:\ColdFusion2018\runtime\lib - 备份
catalina.jar文件后,用压缩工具打开该jar包,找到路径org/apache/catalina/util/ServerInfo.properties - 修改配置参数为无版本信息值:
server.info=Apache Tomcat server.number= server.built=
- 保存修改后的文件并替换回jar包。
配置Tomcat全局自定义错误页
- 进入Tomcat配置目录,默认路径为
C:\ColdFusion2018\runtime\conf - 备份
web.xml文件后编辑,在文件末尾</web-app>标签前添加错误页映射规则:
<error-page> <error-code>400</error-code> <location>/custom-error/404.html</location> </error-page> <error-page> <error-code>404</error-code> <location>/custom-error/404.html</location> </error-page> <error-page> <error-code>500</error-code> <location>/custom-error/500.html</location> </error-page>
- 进入Tomcat默认站点根目录,默认路径为
C:\ColdFusion2018\runtime\webapps\ROOT,新建custom-error文件夹,放入和IIS侧样式一致的静态错误页,页面内不要包含任何技术栈相关信息。
新增畸形请求拦截规则
- 编辑同目录下的
server.xml文件,备份后找到<Host>节点,在节点内添加请求过滤阀门:
<Valve className="org.apache.catalina.valves.RequestFilterValve" allow="^[^;]*$" denyStatus="403" />
该规则会直接拦截所有携带分号的畸形路径请求,避免绕过规则触发默认错误页。
重启服务生效
打开Windows服务管理器,找到ColdFusion 2018 Application Server服务,重启后使用畸形路径测试验证,确认无版本信息泄露。
注意事项
- 所有配置文件修改前必须备份,出现启动异常时可直接回滚
- 自定义错误页需要保证ColdFusion运行账号有读取权限,避免出现二次404
- 可额外修改IIS的请求过滤规则,禁止路径中携带分号,实现双重防护
内容的提问来源于stack exchange,提问作者Jim W
相关产品推荐
相关产品推荐

