对于Apache Geode,发生404错误时应如何关闭Jetty版本消息

问题描述

我们正在使用apache geode v1.6.0,还使用了Geode rest api。 但是,当我们的客户进行漏洞测试时,他们发现了潜在的安全风险,我们需要解决此问题。

该报告显示,http://:7070显示以下消息

HTTP ERROR 404
Problem accessing /. Reason:

    Not Found
**Powered by Jetty:// 9.4.8.v20171121**

如您所见,显示了Jetty版本,这被报告为有风险。 我进行了很多搜索,发现可以通过如下配置Jetty设置来关闭消息

<Item>
 <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler">
     <Set name="showContexts">false</Set>
 </New>
</Item>

但是,Jetty嵌入在Geode中,如何将showContexts设置为false?

非常感谢任何建议。

解决方法

通过InternalHttpService类在await this.slider_.noUiSlider.updateOptions({ start: [that.startTime,that.endTime],range: { 'min': 0,'max': Math.round(this.duration * 100) / 100 } },true); 中启动并配置嵌入式Jetty Server,并且此内部类不提供任何功能来手动配置实际的服务器属性或设置。另一方面,Geode类中的showContexts属性无法通过环境变量进行配置(可用作变通方法),只能通过DefaultHandler进行配置文件(不在xml中使用)或以编程方式。

长话短说:Geode中目前没有一种禁用DefaultHandler的现成方法,我建议通过{{3 },并详细描述实际问题和影响。不过,实际的修补程序并不难独自实现:只需注册自定义Geode或以编程方式将ErrorHandler的{​​{1}}属性设置为showContexts中的false,因此您可以提交DefaultHandler来解决问题,以将其合并到PR中。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...