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.
- 5786 megtekintés
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
- A hozzászóláshoz be kell jelentkezni
í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
- A hozzászóláshoz be kell jelentkezni
Köszönöm, amint időm engedi, megnézem :)
- A hozzászóláshoz be kell jelentkezni
Egy link esetén hogy kaphatom meg a link végén található fájl nevét, ha csak arra van szükségem az átirányításnál?
Például a link: www.remekjatek.hu/skin/jatekos.png
Nekem ebből a jatekos.png kell, hogy a saját linkemre irányítsam.
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni