Apache 2 - több porton, más más tartalommal!

Sziasztok!

Kaptam egy feladatot, s nem tudom merre induljak el (és összevissza 2 órám van rá :)), és az Apache 2-höz nem értek.

Adott egy server4 - belső hálózaton működő - nevű szervergép, amin üzemel többféle webszolgáltatás 80-as porton. "Hozzácsapódott" egy szolgáltatás (Eve ntum), ami aliasolva van a /usr/share... -ból a szolgáltatáshoz.

A feladat, hogy CSAK ez az egy oldal kerüljön át a 81-es portra (és lehetőleg látszódjon a 80-ason is).
Amit kibogoztam, hogy Listen 81 -t hozzá kell raknom az apache.conf -hoz, de semmi leírást, módozatot nem találtam arra, hogy csak ez az 1 látszódjon ott. A virtualhost esetén nem fogtam fel hogyan tudom megadni ezt...

A dolgot tovább bonyolítja, hogy ezután a 81-es porton levő web szolgáltatást port forwardinggal ki kell rakni a netre is.

Erre ezt találtam ki (tárgyszerver kommunikálhat a net felé):
iptables -A INPUT -s $all -d $kulsoip -p TCP --dport 81 -j ACCEPT
iptables -t nat -A PREROUTING -d $kulsoip -p tcp --dport 81 -j DNAT --to-destination $server4:81

Ahol:
$kulsoip: A rendszer külső ip-je
$server4: A server4-es gép ip-je

Kell még valami a működéséhez?

Hozzászólások

Igen, kell a Listen 81, azon kívül:


NameVirtualHost *:81

<VirtualHost *:81>
ServerAdmin xxxx
DocumentRoot /path/...
ServerName valami
.
.
.
</VirtualHost>

Ezt elvileg a README.Debian írja le.
A rc-hez hasonlóan működik, még valami script (apachectl?) is van hozzá.
Az egyes vhostok config filejait beteszed a sites-available alá, majd innen amit éppen használni akarsz, symlinkeled a sites-enabledbe. Sorrend is lehetséges, a linkek elején számokkal.

Lehet tevedek, de szerintem ha forwaldolod akkor nem kell elotte kulon engedelyezned, ugyanis nem ez a gep kell fogadja a csatlakozast. Es miutan az ACCEPT resz illik a csomagra, az nem fog tovabbmenni a firewall lancon, igy nem jut el a forwardig. Azaz sosem jut el a masik gepig a csomag. Az ACCEPT resz a server4 firewall-jaban kell megadod (ha van firewall), de nem a -d kulsoip-vel.