如何使用嵌入式jetty从jar文件中删除对dir的访问?

0s7z1bwu  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(465)

抱歉,这是个奇怪的问题,所以我不知道从哪里开始。我可能用词不当,所以对此我深表歉意。
我们正在运行Kafka偏移量监控程序。命令如下所示:

java -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk zk1.domain.com zk2.domain.com zk3.domain.com --port 8000 --refresh 10.seconds --retain 2.days

这个cmd似乎在端口8000之外运行一个web服务器,并允许我们从浏览器查看服务器上kafka的不同队列。
如果我们去http://webpage.domain.com:8000/scripts,它显示此“目录”的内容。我在tmp目录中扩展了jar文件,发现了一个名为scripts的“目录”。
我需要限制显示scripts目录的内容,但是如果看到jar文件中的内容像web服务器一样,我该怎么做呢?我没有目录可以运行chmod 000来限制访问。
提前感谢任何人的帮助。谷歌不懂我的意思,所以我需要一个人来理解我的胡言乱语。
更新:我发现了几个堆栈溢出的帖子,有一个潜在的解决方案。不过,这对我也不管用。我解开了kafkaoffsetmonitor jar文件,找到了一个webdefault.xml文件。我允许它为false,但由于某些原因,它仍然显示脚本目录的内容。

<init-param>
  <param-name>dirAllowed</param-name>
  <param-value>false</param-value>
</init-param>

我还需要做什么才能不列出目录的内容?我想我真的很接近了,只需要再做一件事,就能让上述解决方案发挥作用。

zlwx9yxi

zlwx9yxi1#

不确定这是解决方案还是解决方法。我在webdefault.xml文件中将dirallowed设置为false。我给jar文件重新涂了焦油,但由于某种原因,它仍然列出了目录内容。
但是,在每个目录中,我都包含了一个空白的index.html文件,这似乎阻止了目录的内容被列出。

相关问题