Hei,
tuli tuossa pieni ongelma virtuaalikoneiden kanssa. Pyöritän tällä hetkellä muutamaa virtuaalikonetta VirtualBoxissa, joissa testailen mm. Apachen pyörittämistä. Ongelma on siinä, miten ohjaisin NATin takana sijaitsevien virtuaalipalvelinten liikenteen oikein.
Routerista olen avannut asianmukaiset portit, mutta kun ulospäin näkyy sama IP ja saman portin takana (80) pyörii useita Apacheja, miten saisin ohjattua liikenteen oikeille virtuaalikoneille? Käsittääkseni Apachen VirtualHost-konfiguraatio ratkaisisi ongelman, jos kyseessä olisi vain yksi instanssi Apachesta, mutta löytyisikö joku vastaava ratkaisu, jossa esim. domainnimen perusteella voisi ohjata host-koneelta liikenteen asianmukaisiin virtuaalikoneisiin?
Laita palvelimet eri portteihin ja lisää ylimääräinen välityspalvelin.
Hieman yksityiskohtaisemmat ohjeistukset olisivat olleet paikallaan, mutta onnistuipa nyt kuitenkin ja ehkä siinä sivussa tuli opittuakin hieman enemmän :)
Googlen perusteella aika yleinen päänvaiva tämä name-based reverse proxyn aikaansaaminen, mutta yksityiskohtaista selostusta oli silti suhteellisen vaikea löytää.
Laitan tänne alustavan konfiguraation, jos joku muukin nooben haluaa päästä nopeammin etenemään.
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so NameVirtualHost *:80 <VirtualHost *:80> ServerName palvelin1.osoite.com ProxyPreserveHost On ProxyRequests Off ProxyPass / http://192.168.1.5/ ProxyPassReverse / http://192.168.1.5/ </VirtualHost> <VirtualHost *:80> ServerName palvelin2.osoite.com ProxyPreserveHost On ProxyRequests Off ProxyPass / http://192.168.1.6/ ProxyPassReverse / http://192.168.1.6/ </VirtualHost>
Isäntäkoneen osoite NATin takana on 192.168.1.3, virtuaalikoneessa pyörivän reverse proxyn osoite on 192.168.1.4 ja palvelimet siitä eteenpäin erikseen nimettynä. NATin portti 80 auki ainoastaan virtuaalikoneessa pyörivään reverse proxyyn. Ilmeisesti tuo mukavasti lisäturvaakin tuo välipalvelin oikein konfiguroituna.
Aihe on jo aika vanha, joten et voi enää vastata siihen.