2016-11-07 9 views
0

对不起,这是一个奇怪的问题,所以我不知道从哪里开始。这可能表达得不好,所以我对此表示歉意。如何从嵌入式码头的jar文件中删除对目录的访问?

我们正在运行卡夫卡胶印监视器程序。在CMD看起来是这样的:

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似乎运行一个Web服务器关闭8000端口,并允许我们看卡夫卡的我们从浏览器服务器上的不同的队列。

如果我们去http://webpage.domain.com:8000/scripts,它会显示这个“目录”的内容。我在tmp目录中扩展了jar文件,并且找到了一个名为scripts的“目录”。

我需要限制显示脚本目录的内容,但看到这是如何在一个作为Web服务器行事的jar文件中,我该怎么做?没有dir让我运行chmod 000来限制访问。

在此先感谢任何人的帮助。谷歌不理解我,所以我需要一个人来理解我的困惑漫谈。

更新:我发现有几个堆栈溢出发帖有潜在的解决方案。但是,它也不适合我。我解开了KafkaOffsetMonitor jar文件,发现了一个webdefault.xml文件。我编辑dirAllowed为false,但由于某种原因它仍然显示脚本目录的内容。

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

我还需要做什么才能不列出目录的内容?我认为我非常接近,只需要一件事就可以让解决方案达到上述目标。

+0

这似乎并不是一个编程问题,所以它对这个网站而言是相当主题的。然而,这就是说,'webdefault.xml'可能不会被'KafkaOffsetMonitor.jar'使用。有成千上万的方法来设置嵌入式码头,只有利用WebAppContext的小部分技术才会使用webdefault.xml。 –

回答

0

不确定这是解决方案还是解决方法。我在webdefault.xml文件中设置了dirAllowed为false。我重新标记了jar文件,但由于某种原因,它仍然列出了目录内容。

但是,在每个目录中,我都包含一个空白的index.html文件,这似乎阻止列出目录中的内容。