Apache2 virtualhost átirányítás másik Apache felé

Fórumok

Sziasztok!

Van egy cég, fix IP címmel, két különböző aldomain mutat rá.
Az internetet router osztja a belső hálózat felé, ezen belső háló egyik gépe futtat egy Apache-ot, a routeren a 80-as port erre van átirányítva, működik is szépen. bekerült viszont egy másik gép is, szintén LAN-os címmel, szintén Apache2-t futtat.

Az lenne a cél, hogy ha az egyik aldomain-t hívjuk meg, akkor az egyik, ha a másikat, akkor a másik gép Apache-a kapja meg a kérést és lehetőleg ne kelljen portokkal bíbelődni az URL-ben.

Úgy gondoltam, hogy mivel a 80-as port továbbítás fix helyre mutat, az azon futó Apache döntse el, mi volt a kérés, ha nem neki szólt, hanem a másik aldomain számára, akkor továbbítsa a másik, belső IP címmel rendelkező gép felé. Nem tudom, hogy ez megoldható-e vagy sem, illetve milyen egyéb megoldások jutnak még eszetekbe? Nyilván ehhez az elsődleges Apache gépnek mindig mennie kell, hogy továbbíthassa a kérést, de ez nem gond.

Felmerült még bennem egy másik megoldás is, miszerint a második Apache documentroot-ját felmountolom valahogy az elsődleges apache-os gépre és így oldom meg ezt. Szerintetek ez hülyeség? Vagy eleve ezt hogyan oldanátok meg?

Lényeg az, hogy a két gép két gép kell, hogy maradjon, portokkal nem akarok játszani, mint pl. akarmi.domain.hu:81, mert annyira nem szép így.
Azaz ha aldomain1.domain.hu-t írok be, akkor az egyik, míg ha aldomain2.domain.hu-t adok be, akkor a másik gép szolgálja ki a http kérést.
Betenném ide a most meglevő Apache2 konfot is, bár semmi extrém nincs benne, de a relációjelek közé tett VirtualHost, Directory, stb. dolgok nem jelennek meg, kiszűri a fórummotor.

Várnék minden javaslatot!

Köszi:
Mono

Hozzászólások

Például apache proxyzással megoldható. Ha jól emlékszem mod_proxy modul kell hozzá.

Ha jol ertettem az elkepzelesedet, a felmountolos megoldas azert nem jo, mert attol meg, hogy a masodik gepen vannak fizikailag a fileok, attol meg az elso webszerver fogja kiszolgalni a kereseket (a masodik pedig tetlen lesz vegig.)
Ez pedig a halozati kesleltetes miatt lassabb kiszolgalast fog eredmenyezni, valamint a terheles-eloszlas sem ugy alakul, ahogy azt szeretned.

Megoldódott!

Nagyon köszönöm mindenkinek a segítségét!
A "B" verzió már majdnem működött, mikor elkezdtem azon agyalni, hogy egyáltalán életképes-e az ötlet? Hiszen ha felmountolom a másik Apache www könyvtárát, attól még annak SQL adatbázisába nem feltétlen fog irogatni egy PHP-s program - szerintem legalábbis.

Így futottam még pár kört, sőt, ezen a fórumon találtam egy topikot, amely alapján aztán össze is jött a dolog, íme:
http://hup.hu/node/47654

Molti adta meg a lényegi dolgot, bár én csak egy-egy "szekciót" használtam belőle, saját magát nem proxyztattam meg, de a hozzászólása:

Szia,

Lehet én értettem félre de apache2 proxyval szerintem megtod' oldani.

A ( és ) jelek a megfelelő kacsacsőrt helyettesítik :D

-------------- proxy -----------
(Proxy *)
Order Deny,Allow
Deny from all
(/Proxy>)

(Proxy http://10.0.0.1/)
Order Allow,Deny
Allow from All
(/Proxy)

(Proxy http://10.0.0.2/)
Order Allow,Deny
Allow from All
(/Proxy)

----------------virutalhost---------------------
(VirtualHost *:80)
ServerName www.valami.hu
ServerAdmin webmaster@valami.hu
ProxyPass / http://10.0.0.1/
ProxyPassReverse / http://10.0.0.1/
(/VirtualHost)

(VirtualHost *:80)
ServerName www.akarmi.hu
ServerAdmin webmaster@akarmi.hu
ProxyPass / http://10.0.0.2/
ProxyPassReverse / http://10.0.0.2/
(/VirtualHost)

Ezt megelőzően még:
apt-get install libapache2-mod-proxy-html
a2enmod proxy
a2enmod proxy_http

Majd:

/etc/init.d/apache2 restart

És ment is minden. Gondoltam megírom az utókor számára, hátha valakinek még szüksége lesz erre (vagy később nekem, ha már elfelejtem, hogy' kell csinálni :p :) )

Na van újabb "gondom" vele :)

Szóval picit többet árulok el, nem azért, mert titkoltam volna, hanem mert nem akartam sok felesleges dolgot (eddig) leírni.
Gondjaim a logolással vannak.
A proxy mögött ülő Apache futtat egy web-es FTP klienset, illetve az alatt van egy FTP szerver. Logolás eléggé fontos lenne ezen a gépen, ki mikor lépett be http felületen (sima FTP is van, azt logolom szépen), mit csinált, hova lépett, stb.
Viszont minden log bejegyzésben a proxy-s gép IP címe látszik, az eredeti IP "nem megy át" a proxy-n. Lehet ezzel kezdeni valamit?

A proxy-s gép IP-je 192.168.5.248, log a proxy mögött levő FTP-s gépen:

Jul 13 14:24:02 localhost net2ftp: 2009-07-13 14:24:02 192.168.5.248 43626 /net2ftp/index.php 0 0 login 1
Jul 13 14:24:11 localhost net2ftp: 2009-07-13 14:24:11 192.168.5.248 43626 /net2ftp/index.php 0 0 ftp.domain.hu test9 browse main 1
Jul 13 14:29:00 localhost net2ftp: 2009-07-13 14:29:00 192.168.5.248 45476 /net2ftp/index.php 0 0 ftp.domain.hu test9 browse main 1 /testfolder

Látsztik, hogy belépett a WEB-es felületre, könyvtárat váltott, viszont csak az látszik, hogy a belső hálózaton levő, proxy-s géptől jöttek ezek a kérések. Nekem az kellene, hogy valójában honnan jött a kérés, a proxy elől?

Tudtok erről valamit? Így lenne kerek ez a történet, de sajna nem lelek rá megoldást :(

Előre is köszi:
Mono

Köszi a linkeket!

Ez alapján fel is tettem az rpaf csomagot, viszont semmi változás :( Persze apache restart megvolt, előtte persze megvolt ez is:
# a2enmod rpaf
Ezt adja vissza: This module is already enabled!

Viszont semmi változás, a proxy mögött levő gép logjaiban csak a proxy-s gép IP címét látom :(

Valami tippetek van még esetleg?

Be is van konfigolva?

# if DSO load module first:
LoadModule rpaf_module libexec/apache2/mod_rpaf-2.0.so

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 10.0.0.1
RPAFheader X-Forwarded-For

Továbbá a logformat-nál is be kell (sztm) állítani vmi ilyesmit:
LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

Üdv,
N.

Hát konfigolva nem volt, mert nem találtam erre semmit sehol.
Betettem az apache2.conf végére ezt:

# if DSO load module first:
LoadModule rpaf_module libexec/apache2/mod_rpaf-2.0.so

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 192.168.5.190
RPAFheader X-Forwarded-For

Ahol az 5.190-es IP a proxy mögött levő apache-os gép.
A /etc/init.d/apache2 restart-ra ezt kaptam:

#/etc/init.d/apache2 restart
Forcing reload of web server (apache2)...[Tue Jul 14 10:22:05 2009] [warn] module rpaf_module is already loaded, skipping
waiting [Tue Jul 14 10:22:08 2009] [warn] module rpaf_module is already loaded, skipping
.
#
Proxy mögött levő gép logjaiban továbbra sem látszik, csak a proxys gép IP-je... :(