Artikel-Schlagworte: „JK2“

andere Web-Server in Apache integrieren

Samstag, 19. Juli 2008

Das Problem trat bei mir auf, als ich sowohl einen Apachen als auch einen Tomcat über den Port 80 erreichen wollte. Da beide Server von der Apache Foundation entwickelt werden, sollte man annehmen können, das eine Integration kein Problem ist. Für diesen Zweck gibt es ein Apache Modul Namens “JK” bzw. “JK2″.

Ich habe es erst auf den 3. Versuch annähernd zum Laufen bekommen. Es konnte aber trotzdem nur die Index-Seite aufgreufen werden…

Daraufhin habe ich eine andere Möglichkeit gefunden, die es zudem ermöglicht, jeden beliebigen Web-Server durch den Apache zu leiten. Der Apache arbeitet hier nur als Proxy, leitet also die Daten einfach nur an den anderen Server weiter.

Folgende Module müssen in der httpd.conf (APACHE-ROOT/conf) aktiviert werden:

  • proxy_module modules/mod_proxy.so
  • proxy_ajp_module modules/mod_proxy_ajp.so
  • proxy_balancer_module modules/mod_proxy_balancer.so
  • proxy_connect_module modules/mod_proxy_connect.so
  • proxy_http_module modules/mod_proxy_http.so
  • proxy_ftp_module modules/mod_proxy_ftp.so

Ich denke das nicht alle Module unbedingt nötig sind, um einfachen HTTP-Traffic durchzuleiten, aber sicher ist sicher. ;-) In meinem Apache (aus dem xampp-Projekt) waren die Module bereits enthalten.

Jetzt fehlt nur noch die Angabe, welche Requests weitergeleitet werden sollen. Dazu hängt man einfach noch folgende Zeilen an das Ende der httpd.conf:

ProxyPass /foo ajp://127.0.0.1:8009/foo
ProxyPassReverse /foo ajp://127.0.0.1:8009/

“foo” muss natürlich durch die eigentliche Url ersetzt werden.

Es funktioniert bei mir auch, wenn ich den Port 8080 angebe, der der Standart-Tomcat Port ist. Aber in dem Tutorial was ich gefunden habe, war es auch mit 8009 angegeben…