Proxy Apache mod_proxy helyett

Halihó!

Adott egy gép, amely egy IP címmel látszik a világ felől. Van benne több Glassfish domain, azokon belül több alkalmazás, amelyeket egy-egy domainhez rendelek s ezt mod_proxy-val művelem, valahogy így:


<VirtualHost *:80>
    ServerAdmin auth.gabor@javakocsma.hu
    DocumentRoot /export/www/
    ServerName 1000birka.hu
    ServerAlias www.1000birka.hu

    <Location /FCKEditor/>
        ProxyPass http://localhost:44460/FCKEditor/
        ProxyPassReverse http://localhost:44460/FCKEditor/
    </Location>

    <Location />
        ProxyPass http://localhost:44460/Birkak-war/
        ProxyPassReverse http://localhost:44460/Birkak-war/
    </Location>

    ProxyVia Off
    ProxyPreserveHost On
</VirtualHost>

Minden szép és jó, de a mod_proxy sajnos elnyeli a forrás IP-t, amelyet ugyan ki tudok vadászni a kérésben lévő "forwarded" fejlécből, de ez nem elegáns... mivel lehetne ezt a problémát jól megoldani?

Hozzászólások

ugy latom, hogy ez a Glassfish ez valami Tomcat leszarmazott, akkor erre nem mukodhet a mod_jk -s megoldas, amivel apache virtualhostbol at tudod adni a vezerlest a tomcatnek(a te esetedben a glassfish-nek)?
google apache glassfish jk_mod elso 2 erdemi talalat:
http://weblogs.java.net/blog/amyroh/archive/2005/06/index.html
http://weblogs.java.net/blog/jfarcand/archive/2006/03/running_glassfi_1…

Tyrael

szia!

mi sugallja azt, hogy meg lehet elegánsan oldani? :-)

most komolyan: az apache proxy ip címét nem tudod módosítani, innentől kezdve más mód nincsen tudatni az eredeti forrás ip-t, mint beletenni egy fejlécbe. (az apache proxy kliens a glassfish, másik apache számára)

servlet container esetén egy filterrel célszerű megcsinálni (request wrapper), apache esetén rpaf modul vagy van egy uezt célzó perl kódocska (nyilván mod_perl is kell hozzá).

de persze azt azért figyelni illik, hogy mely kérések esetén veszed a fejlécből a forrás IP címet (azaz csak akkor, ha az apache proxytól jön a kérés).

attila