Link átirányítás több cím esetén

Fórumok

Sziasztok!

Nem vagyok benne biztos, hogy a témaválasztásom a leghelyesebb, valamint nem is vagyok egy nagy mágus a témában, így ezekért előjáróban elnézéseteket kérem.

A jelenlegi helyzet:
Van egy játék, ami a karakterekre szánt skineket a játékszerver üzemeltető weboldaláról kéri le a játékos neve alapján. Ez ahány szerver, annyi különböző weboldalt jelent. Nagyjából 5-6 ilyen szerverre kell gondolni. Szeretném ezeket "összefogni" és néhány kliensgépemen a hosts fájl módosításával az 5-6 szerver weboldalát az általam üzemeltetett VPS-re (CentOS) irányítani. Ezzel eddig nincs gond, a hosts fájlokat módosítottam a gépeken.

Ott akadtam el, hogy nem tudom, hogyan valósítsam meg azt, hogy a VPS lekérje a valós szerverről a karakter skin-jét és azt adja vissza a játéknak. Például:

Jelenleg:
játék -> remekjatek.hu/skin/dNi.png

Amit szeretnék:
játék -> (VPS) -> remekjatek.hu/skin/dNi.png

Jó volna, ha a VPS-en át tudnám irányítani a "remekjatek.hu/skin/dNi.png"-t pl a "nagyonremekjatek.hu/skin/dNi.png"-re, mert megeshet, hogy néha változik az elérési link, így egyszerűen csak a VPS-en könnyebb lenne követni a változásokat, valamint mivel több weboldalról van szó, így tudnám szelektálni, hogy melyik kérés merre menjen tovább. Ha jól gondolom, a VPS-nek egyfajta proxy-t kellene játszania, de nem tudom hogyan tudnám ezt az egészet megvalósítani, hogy semmi proxy beállítást nem végzek a klienseken, csak a hosts fájl segítségével az én VPS-em kapja meg a http lekéréseket és a példa alapján azt adja vissza amit szeretnék.

Ti milyen szolgáltatásokkal és hogyan valósítanátok meg a vázolt feladatot?

Köszönöm szépen a válaszaitokat.

Hozzászólások

egyfajta proxy-t kellene játszania

pontosan, egy reverz proxyt kell telepítened.

én az nginx-t javaslom, ehhez elég egyszerű konfigurálni.


server
{
 server_name remekjatek.hu;
 rewrite ^(.*) $scheme://remekjatek.hu$1;
}

ebben az esetben persze a proxy gép (VPS) ne a buherált hosts fájlból oldjon föl.
aztán lehet cifrázni, több egyenértékű backend szerverre osztani a requesteket:


server
{
 server_name remekjatek.hu;
 rewrite ^(.*) $scheme://igaziszerver;
}
upstream igaziszerver
{
 server remekjatek1.hu;
 server remekjatek2.hu;
 server remekjatek3.hu;
}

vagy path alapján szétdobálni:


server
{
 server_name remekjatek.hu;
 location /skin {
  rewrite ^(.*) $scheme://remekjatek1.hu$1;
 }
 location /theme {
  rewrite ^(.*) $scheme://remekjatek2.hu$1;
 }
 return 404;
}

~~~~~~~~
deb http://deb.metaltux.tk/ wheezy yazzy repack

írtad h több domain név van, amin az igazi szerverek kiszolgálnak.
ezért minden domain nevet, amivel a proxy webszerveredet megszílítják, fel kell venni "server_name" opcióként; vagy ha nincs másik "server" blokkod, akkor nem is muszáj szerver neveket beállítnod, az az egy lesz a default.

~~~~~~~~
deb http://deb.metaltux.tk/ wheezy yazzy repack


location ~ ([^/]+)$
{
  set $filename $1;
  rewrite ^ http://masikdomain.hu/$filename redirect;
}

vagy ha helyből szolgálod ki:


root /var/www/remekjatek/jatekos_kepek;
location ~ ^/([^/]+)$
{
  # ez a blokk azert kell hogy ne keruljon atiranyitasi hurokba
}
location ~ ([^/]+)$
{
  set $filename $1;
  rewrite ^ /$filename;
}

~~~~~~~~
deb http://deb.metaltux.tk/ wheezy yazzy repack