Umleitung von Requests vom Apache zu Tomcat

Die Konfiguration des Apache zur Anbindung an Tomcat ist im tomcat-apache-howto dokumentiert, der sich in jeder Download-Version des offiziellen Tomcat 4.1.27 befindet (webapps/doc).

Die Umleitung von Requests vom Apache zum Tomcat kann auch auf zwei Rechnern geschehen, z.B. um den Apache-Server in der DMZ und den Tomcat-Server im Intranet zu betreiben. Wir empfehlen letzteres aus Sicherheitsgründen, beachten Sie aber dabei, dass auch die Verbindung vom Apache-Server zum Tomcat via mod_jk verschlüsselt wird, z.B. über einen ssh-Tunnel.

 In der SuperX-Distribution sind die Tomcat-spezifischen Dateien für die Anbindung an den Apache 1.3.x via mod_jk bereits enthalten, es müssen lediglich ein paar Anpassungen gemacht werden:

·        Teil der SuperX-Distribution ist ein Konfigurationsbeispiel mit dem Namen $SUPERX_DIR/webserver/tomcat/conf/superx_mod_jk.conf.sam. dieses können Sieumbenennen nach superx_mod_jk.conf, und in der Datei den Pfad für das mod_jk-Modul (mod_jk.so) anpassen. Ausserdem kann der Logging-Level festgelegt werden (Werte: "debug", "warning", "error", im Echtbetrieb empfehlen wir "error").

·        In der Datei $SUPERX_DIR/webserver/tomcat/conf/workers.properties muss der Parameter
workers.tomcat_home
auf den richtigen Pfad gesetzt werden (wenn Sie SuperX in /home/superx installiert haben, brauchen Sie hier keine Änderungen vornehmen).
Ausserdem muss der richtige Pfad für workers.java_home gesetzt werden, sowie der Pfad-Demiliter ps für das Betriebssystem ("/" für Unix, "\" für Win, ":" für Mac)
Wenn Sie den Apache auf einem separaten Rechner betrieben, dann müssen Sie beim Parameter worker.ajp13.host nicht "localhost", sondern den Rechnernamen / IP-Nr. des Tomcat-Servers eintragen.

·        Danach fügen Sie am Ende der Apache-Konfigurationsdatei (unter SuSE Linux z.B. /etc/httpd/httpd.conf) die Zeile
Include /home/superx/webserver/tomcat/conf/superx_mod_jk.conf)
ein. Außerdem müssen Sie ggf. die Umgebungsvariable DirectoryIndex auf index.htm setzen (nicht nur index.html), da die Startseite in den Verzeichnissen immer index.htm heißt.
Danach starten Sie Apache neu (apachectl restart).

·        In der Datei $SUPERX_DIR/webserver/tomcat/conf/server.xml auf dem Tomcat-Rechner kann dann der http-Connector 8080 auskommentiert werden, und der Apache-Connector ajp13 kann benutzt werden; standardmäßig geht dieser über den Port 8009. Dieser Connector ist bei Auslieferung von SuperX aktiviert.

·        Dann starten Sie zuerst Tomcat neu, und dann den Apache. Danach müsste auf dem Webserver das Verzeichnis superx gemounted sein, und alle Anfragen mit der Endung *.jsp bzw. in das servlet-Verzeichnis gehen zu Tomcat.

·        Danach müssen Sie ggf. in der Datei
$SUPERX_DIR/webserver/tomcat/webapps/superx/applet/superx.properties
den Port für Tomcat (Vorbelegung: ":8080") rausnehmen (mit "#" auskommentieren).

 

Sobald Tomcat so an den Apache angebunden ist, kann auch die Verschlüsselung über den Apache laufen. Wenn das Apache-Modul mod_ssl installiert und konfiguriert ist, dann werden auch automatisch anhand des Präfixes http://.. und https://... Anfragen an Tomcat weitergeleitet.

  


Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 74 / 277
Letzter Update: 18.08.2008
Impressum