PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tomcat und Apache



make
02.12.04, 09:14
Hallo zusammen

Ich habe Tomcat und Apache über mod_jk2 kombiniert. Dann habe ich einen Virtual Host konfiguriert und jetzt funktioniert das ganze. Allerdings nur, wenn ich die Applikation über den im VHost konfigurierten Domainnamen anspreche.

Wenn ich jetzt aber den Pfad direkt angebe, also beispielsweise http://192.168.1.1/testapplikation dann wird der gesamte Code der JSP-Seiten als Text angegeben.

Kann ich das entweder unterdrücken oder machen, dass die Seite auch über den direkten Pfad und nicht nur über einen VHost richtig angezeigt wird?

marce
02.12.04, 09:49
wie sieht der entsprechende vhost aus? httpd.conf?

make
02.12.04, 11:17
Jo der ist in der Apache-Konfiguration

<VirtualHost *>
ServerName beispielapplikation.beispieldomain.ch
DocumentRoot /var/www/beispielapplikation
</VirtualHost>

Und in der server.xml

<!-- Define the default virtual host -->
<Host name="beispielapplikation.beispieldomain.de" debug="0" appBase="/var/www/beispielapplikation"
unpackWARs="true" autoDeploy="true">

<!-- Logger shared by all Contexts related to this virtual host. -->
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="beispielapplikation_" suffix=".log"
timestamp="true"/>

<Context path="" docBase="" debug="0" reloadable ="true" crossContext="true">
</Context>

</Host>

Und dann noch die workers2.properties
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1

[shm]
file=/usr/share/tomcat4/work/jk2.shm
size=1048576

[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

[uri:beispielapplikation.beispieldomain.de/*]
worker=ajp13:localhost:8009

temir
02.12.04, 18:02
<VirtualHost 192.168.1.1:80>
ServerName beispielapplikation.beispieldomain.ch
DocumentRoot /var/www/beispielapplikation
</VirtualHost>

make
03.12.04, 09:54
Ehm...das bringt nichts...da kann ich ja immer noch eingeben 192.168.1.2/beispielapplikation/beispielseite.jsp

Und von dieser beispielseite.jsp wird dann im Browser einfach mein gesamter JSP-Code ausgegeben. Und das möchte ich entweder unterdrücken, oder ich möchte, dass die Seite von Tomcat verarbeitet und richtig dargestellt wird. Aber Tomcat verarbeitet die Seite eben nur, wenn ich sie über den beisielapplikation.beispieldomain.de aufruft.

Kann ich irgendwie mit <Directory> oder so in der Apache-Konfiguration festlegen, dass Apache den Inhalt dieser Verzeichnisse nicht anzeigen darf? Das sollte ja dann gehen, denn wenn ich über den VHost-Domainnamen gehe verarbeitet es Tomcat, dann würden die Seiten angezeigt. Und wenn der Apache angefragt wird, kommt einfach ein forbidden und niemand sieht meinen Code...

marce
03.12.04, 10:17
poste doch mal Deine komplette httpd.conf...

make
03.12.04, 10:55
Es hat geklappt

<Director "/var/www/beispielapplikation">
Order deny,allow
Deny from all
</Directory>

Die JSP-Seiten werden jetzt nur noch angezeigt, wenn ich die Applikation über den VHost anspreche, weil sie dann ja von Tomcat verarbeitet werden.

Wenn ich sie direkt über die URL 192.168.1.2/beispielapplikation/beispielseite.jsp anspreche sagt Apache einfach "forbidden", so ist der JSP-Code nicht mehr im Klartext ersichtlich.

Poseidon238
08.03.05, 22:00
Hast Du auch JSP als bekannter Dateityp in die httpd.conf eingetragen?
Die Code-Ausgabe hatte ich eben nämlich auch inne (bei PHP), habe jedoch so einige Dinge vergessen, u.a. auch DirectoryIndex, dafür dann bei "Options" den "Indexes" entfernt, da ich die Verzeichnisinhalte nicht anzeigen möchte.