Tomcat és Apache

 ( kaltsi | 2012. május 23., szerda - 15:18 )

Szeretnék beleintegrálni egy meglévő Apache mögé egy Tomcat-et.
Ezt úgy szeretném elérni, hogy egy bizonyos vitual host-on egy ServerPath esetén a kéréseket a Tomcat felé továbbítsa, míg más esetben a meglévőek maradjanak. A Tomcat csak localhost-on hallgatna.
Tehát a http://IP/ez_a_tomcat_felé_menjen URL-t/ a Tomcat szolgálja ki, a többit meg az Apache.
Olvastam mindenféle beállításokat és modulokat a neten, de sajnos nincs módom tesztelgetni, így egy olyan megoldást szeretnék összerakni, ami nagyon kevés leállással járna.
Jelenleg az Apache és a Tomcat is rendben megy külön külön.
Egy Ubuntu 10.04-es server van alatta.

Nagyon köszi a segítségeteket.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Proxy-znod kell.

tompos

A megfelelő adatokkal egy ilyet kellene készítenem adott elérésre?
A szükséges proxy modul/ok engedélyezésével gondolom.


<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://192.168.111.2/
ProxyPassReverse / http://192.168.111.2/
ServerName hostname.example.com
</VirtualHost>

Majdnem. A / helyet a /vmit proxy-zd at.

A virtualhost *:*-nak mi ertelme van?

tompos

Ezt csak szedtem, mint példát, de akkor ezen az úton indulok el.
Nagyon köszi

Viszont most tudtam meg, hogy a forráscím szükséges lenne, így transzparens proxy olvastam, ami jó lenne erre. De azt hogy?

A proxy hozzarakja kulon header-ekben, abbol tudod kibanyaszni.

tompos

rtfm topikok:
mod_proxy -- sima proxy a tomcathost:8080/servletX -re
mod_proxy_ajp -- Ekkor AJP konnektorokat kell beállítanod tomcat-ben is.

Ennyire nem értek a tomcat config-hoz, így szerintem marad a proxy.

Szerintem ez kell neked: http://wiki.javaforum.hu/display/JFPORTAL/Apache+HTTPD

Értelemszerűen kicserélni az IP címeket, hostneveket, portokat és a context path-t.

Ha esetleg a jövőben a igényeid kinövik az egy gépes rendszert, akkor itt egy megoldás amit mi is használunk:

 < Proxy balancer://tomcat_app_balancer>
     BalancerMember http://tomcat_server_1:8080 route=node1
     BalancerMember http://tomcat_server_2:8080 route=node2
     BalancerMember http://tomcat_server_3:8080 route=node3
     Order Deny,Allow
     Allow from all
 < /Proxy>

 < Location /tomcat_fele_meno_url>
     ProxyPass balancer://tomcat_app_balancer
     Order Deny,Allow
     Allow from all
 < /Location>

Természetesen a BalancerMember lehet ajp is a route pedig az amit beállítottál az adott szerverre és a nodeok száma növelhető vagy csökkenthető a terhelés függvényében.
Ehez természetesen engedni kell a megfelelő modulokat is:

< IfModule !proxy_module>
    LoadModule proxy_module modules/mod_proxy.so
< /IfModule>

< IfModule !proxy_balancer_module>
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
< /IfModule>

< IfModule !proxy_http_module>
    LoadModule proxy_http_module modules/mod_proxy_http.so
< /IfModule>

Ha ajp-t használsz akkor azt is:

< IfModule !proxy_ajp_module>
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
< /IfModule>