问题描述
我们正在使用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
中。