PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache+Tomcat ... Verzeichnisindexe mit einer "globalen" Indexseite



spooky_dizzy
09.11.04, 15:01
Hallo,

evtl. hat ja jemand eine Idee zum folgenden Problem:

Ich habe im Apachen 1.3.28 den Tomcat mit mod_jk integriert, so daß ich eine Applikation des Tomcat-Containers immernoch mit dem Apachen auf Port 80 ansprechen kann. Das sieht in etwa so aus:


JkWorkersFile "/opt/jakarta/tomcat/conf/workers.properties"
JkLogFile "/opt/jakarta/tomcat/logs/mod_jk.log"
...
JkMount /MeinVerzeichnis ajp13
JkMount /MeinVerzeichnis/* ajp13
...

Danach erhielt der Apache (httpd.conf) bei mir ein Permanent-Redirect auf die Indexseite meiner Applikation:


RedirectPermanent /index.html http://192.168.1.2/MeinVerzeichnis/index.jsp
RedirectPermanent /index.htm http://192.168.1.2/MeinVerzeichnis/index.jsp
RedirectPermanent /index.jsp http://192.168.1.2/MeinVerzeichnis/index.jsp

Im Anschluß daran habe ich die globale web.xml des Tomcat wie folgt konfiguriert:


...
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>../index.jsp</welcome-file>
<welcome-file>../../index.jsp</welcome-file>
<welcome-file>../../../index.jsp</welcome-file>
</welcome-file-list>
...

Ich beabsichtige damit folgendes:

1. Ein internes Netz soll auf den Server zugreifen, indem einfach
http ://192.168.1.2/ oder http ://192.168.1.2/MeinVerzeichnis/ eingegeben wird - funzt auch soweit. :)

2. Ein externes Netz (I-Net) wird bei seiner Anfrage auf Port 80 von außen auf Port 8080 an den Tomcat direkt weitergeleitet und sieht dann dort ebenfalls die Startseite meiner Applikation. (entspricht http ://192.168.1.2:8080/ - funzt auch soweit. :)


Durch die Konfiguration der web.xml erreiche ich, daß ein "Gast von außen" - sprich bei direktem Zugriff über Port 8080 - egal, was er für ein Unterverzeichnis in der URL angibt - immer auf /MeinVerzeichnis/index.jsp landet. Also z.B.:

Anfrage:
http ://192.168.1.2:8080/MeinVerzeichnis/MeinUnterVerzeichnis/
landet immer bei
http ://192.168.1.2:8080/MeinVerzeichnis/index.jsp - - natürlich nur so lange sich dort keine index.jsp befindet

3. Der Gast sieht somit nicht das eigentliche Indexverzeichnis. - jupp - auch dat funzt nun prima :)

Nun zu meinem Problem: :confused:

Das Problem ergibt sich nun, wenn ich das gleiche intern - ohne Angabe von Port 8080 versuche. Ich gebe beispielsweise
http ://192.168.1.2/MeinVerzeichnis/MeinUnterVerzeichnis/
ein und der Apache reicht es an den Tomcat weiter (ohne die Konfiguration der web.xml würde man nun das Indexverzeichnis von "MeinUnterVerzeichnis" sehen) . So - und nun muß sich an irgendeiner Stelle etwas ergeben, was den Browser veranlaßt:

"Netzwerkproblem" oder "Seite nicht verfügbar ..."

zu sagen - also keine Fehlerseite des Apachen oder Tomcat - sondern so, als ob man den Browser ohne Netzwerkverbindung aufrufen würde.

Ich vermute, daß der Tomcat sauber seine web.xml abarbeitet und irgendwas / irgendeinen Dateipfad an den Apachen zurückgibt, womit der Apache nix anzufangen weiß. :eek: Wie gesagt - wenn ich keine Indexseite in das Unterverzeichnis packe oder die Zeilen für die relative Pfadangabe aus der web.xml entferne, wird die Verzeichnisstruktur von "MeinUnterVerzeichnis" angezeigt - das geht also.

hmmmmm - lange Rede ... aber hat vielleicht jemand eine Idee? :confused:

Ich würde mich sehr freuen

mfg. - - - dizzy

PS: Wie umgeht man das eigentlich, daß das Teil hier URLs automatisch als Links formatiert? :(