2016-11-07 8 views
0

Sorry, das ist ein seltsames Problem, also weiß ich nicht, wo ich anfangen soll. Es könnte schlecht von mir formuliert werden, also entschuldige ich mich dafür.So entfernen Sie den Zugriff auf ein Verzeichnis aus einer JAR-Datei mit eingebettetem Jetty?

Wir betreiben das Kafka Offset Monitor Programm. Die cmd sieht wie folgt aus:

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 

Dieses cmd scheint einen Webserver off-Port 8000 laufen und ermöglicht es uns, in den verschiedenen Warteschlangen von Kafka auf unserem Server von einem Browser zu suchen.

Wenn wir zu http://webpage.domain.com:8000/scripts gehen, zeigt es den Inhalt dieses "Verzeichnisses" an. Ich erweiterte die JAR-Datei in einem tmp Verzeichnis und ich fand ein "Verzeichnis" namens Skripte.

Ich muss einschränken, zeigt den Inhalt des Skripts Verzeichnis, aber sehen, wie dies in einer Jar-Datei ist, die sich wie ein Webserver verhält, wie mache ich das? Es gibt keinen Befehl für chmod 000, den Zugriff einzuschränken.

Vielen Dank im Voraus für jemandes Hilfe. Google versteht mich nicht, also brauche ich einen Menschen, um meine verwirrten Gesten zu verstehen.

UPDATE: Ich habe mehrere Stack-Überlauf-Postings gefunden, die eine mögliche Lösung hatten. Aber auch für mich hat es nicht funktioniert. Ich habe die JAR-Datei "KafkaOffsetMonitor" deaktiviert und eine Datei "webdefault.xml" gefunden. Ich habe dirAllowed bearbeitet, um falsch zu sein, aber aus irgendeinem Grund zeigt es immer noch den Inhalt des Verzeichnisses scripts an.

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

Was muss ich noch tun, um den Inhalt eines Verzeichnisses nicht aufzulisten? Ich denke, ich bin sehr nah dran und brauche nur noch eine Sache, um die Lösung über die Arbeit zu bringen.

+0

Dies scheint keine Programmierfrage zu sein, also ist es eher ein Thema für diese Website. Allerdings wird 'webdefault.xml' möglicherweise nicht von' KafkaOffsetMonitor.jar' verwendet. Es gibt Millionen von Möglichkeiten, einen Embedded-Jetty einzurichten, nur die kleine Teilmenge der Techniken, die 'WebAppContext' verwenden, verwendet die' webdefault.xml'. –

Antwort

0

Nicht sicher, ob dies eine Lösung oder eine Problemumgehung ist. Ich hatte dirAllowed in der Datei webdefault.xml auf false gesetzt. Ich habe die JAR-Datei neu tariert, aber aus irgendeinem Grund hat sie immer noch den Inhalt des Verzeichnisses aufgelistet.

In jedem der Verzeichnisse, ich habe jedoch eine leere index.html-Datei enthalten und das schien zu verhindern, dass die Inhalte der Verzeichnisse aufgelistet werden.

Verwandte Themen