Die Konfiguration des Apache zur Anbindung an Tomcat ist im tomcat-apache-howto dokumentiert, der sich in jeder Download-Version des offiziellen Tomcat 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 Sie umbenennen 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").
•
Bei manchen mod_jk- oder Apache Versionen muss man noch die Zeile
JkMountCopy All
hinzufügen, siehe
Hyperlink
.
•
In der Datei
$SUPERX_DIR/webserver/tomcat/conf/workers.properties
muss der Parameter
workers.tomcat_home
auf den richtigen Pfad gesetzt werden, wenn Tomcat auf dem gleichen Rechner läuft (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 (oder stellen das Script nach /etc/apache2/conf.d dann wird es automatisch gelesen) 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.
•
Es wird empfohlen, einen 10 Min-Timeout zu setzen, dazu in der worker.properties
worker.ajp13.connection_pool_timeout=600
und in tomcat/conf/server.xml bei 8009 Konnektor
connectionTimeout="60000" (
http://tomcat.apache.org/connectors-doc/generic_howto/timeouts.html
)
Wenn eine Firewall zwischen den Rechnern liegt, könnte diese möglicherweise Verbindungen kappen, dann ist es gut, wenn man
worker.ajp13.session_keepalive=1 setzt. (
http://tomcat.apache.org/connectors-doc/generic_howto/timeouts.html
Firewall Connection Dropping)
•
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.
Druckversion HTML
![]() |
![]() ![]() |
Seite 107 / 397 Letzter Update: 29.6.2022 Impressum| Datenschutz |