Mi az a CDN, és miért használják a cégek?
Webügynökség » Digitális hírek » Mi az a fordított proxy, és hogyan működik?

Mi az a fordított proxy, és hogyan működik?

A fordított proxy hasznos eszköz minden rendszergazda eszköztárában. Számos felhasználási területük van, beleértve a terheléselosztást, a DDOS támadások elleni védelmet

Mik azok a fordított proxyk?

A szabványos proxy, az úgynevezett Forward Proxy, egy olyan kiszolgáló, amelyen keresztül a felhasználó kapcsolatát irányítják. Sok szempontból olyan, mint egy egyszerű VPN, amely az internetkapcsolat előtt helyezkedik el. A VPN-ek gyakori példák, de olyan dolgokat is tartalmaznak, mint például az iskolai tűzfalak, amelyek blokkolhatják bizonyos tartalmakhoz való hozzáférést.

A fordított proxy egy kicsit másképp működik. Ez a rendszergazdák által használt háttéreszköz. Ahelyett, hogy közvetlenül csatlakozna egy tartalmat kiszolgáló webhelyhez, egy fordított proxy, például az NGINX középen ülhet. Amikor kérést kap egy felhasználótól, továbbítja vagy „proxy”-ként továbbítja a kérést a végkiszolgálóhoz. Ezt a kiszolgálót "eredeti szervernek" nevezik, mert ez az, amely ténylegesen válaszol a kérésekre.

Míg a felhasználó valószínűleg tudja, hogy előremenő proxyn, például VPN-en vagy tűzfalon keresztül irányítják-e, a fordított proxyk az elsődleges eszközök. A felhasználó tudomása szerint egyszerűen bejelentkezik egy webhelyre. A fordított proxy mögött minden el van rejtve, aminek számos előnye is van.

Ez a hatás ellenkező irányban is jelentkezik. Az eredeti kiszolgálónak nincs közvetlen kapcsolata a felhasználóval, és csak egy csomó kérést lát a fordított proxy IP-címéről. Ez probléma lehet, de a legtöbb proxyszolgáltatás, mint például az NGINX, ad hozzá hasonló fejléceket X-Forwarded-For igény szerint. Ezek a fejlécek tájékoztatják a kiindulási szervert az ügyfél valós IP-címéről.

Mire használhatók a fordított proxyk?

A fordított proxyk meglehetősen egyszerűek, de meglepően hasznos eszköznek bizonyulnak sok váratlan felhasználási esettel.

terhelés elosztás

A fordított proxy egyik fő előnye a könnyűsége. Mivel csak továbbítják a kéréseket, nem kell rengeteg feldolgozást végezniük, különösen olyan helyzetekben, amikor egy adatbázist kell lekérdezni.

Ez azt jelenti, hogy a szűk keresztmetszet gyakran az eredeti kiszolgáló, de ha egy fordított proxy előtt van, akkor könnyen lehet, hogy több kiindulási szerver is lehet. Például a proxy a kérések 50%-át küldheti az egyik szervernek, 50%-át pedig egy másiknak, megkétszerezve ezzel a webhely kapacitását. Az olyan szolgáltatásokat, mint a HAProxy, úgy tervezték, hogy ezt jól kezeljék.

Ez egy nagyon gyakori felhasználási eset, és a legtöbb felhőszolgáltató, például az Amazon Web Services (AWS) szolgáltatásként kínálja a terheléselosztást, így nem kell magának konfigurálnia. A felhőautomatizálással a forgalom függvényében akár automatikusan megnövelheti a kiindulási szerverek számát is, ez az úgynevezett automatikus skálázás.

Az olyan terheléselosztók, mint az AWS Elastic Load Balancer, beállíthatók úgy, hogy automatikusan újrakonfigurálják az eredeti kiszolgálókat felfelé és lefelé, mindezt a motorháztető alatt található fordított proxy teszi lehetővé.

caching

Mivel a fordított proxy gyakran sokkal gyorsabban válaszol, mint az eredeti kiszolgáló, a gyorsítótárazásnak nevezett technikát gyakran használják a kérések felgyorsítására a gyakori útvonalakon. A gyorsítótárazás akkor történik, amikor az oldaladatokat a fordított proxy tárolja, és csak néhány másodpercenként/percenként kéri le az eredeti szervertől. Ez nagymértékben csökkenti az eredeti szerverre nehezedő nyomást.

Például ezt a cikket, amelyet éppen olvas, a WordPress szolgálta ki, amelynek SQL-adatbázissal kell kommunikálnia a cikk tartalmának és metaadatainak lekéréséhez. Minden oldalfrissítésnél ezt megtenni pazarló, mivel az oldal valójában nem változik. Így ez az útvonal gyorsítótárazható, és a fordított proxy csak az utolsó választ küldi vissza a következő felhasználónak, ahelyett, hogy újra összezavarna a WordPress-szel.

A tartalmat gyorsítótárazó fordított proxy-hálózatot tartalomszolgáltató hálózatnak vagy CDN-nek nevezik. Az olyan CDN-eket, mint a CloudFlare vagy a Fastly, nagyon gyakran használják a nagy webhelyek a globális kézbesítés felgyorsítására. A tartalmat gyorsítótárazó szervereket szerte a világon „szélcsomópontoknak” nevezik, és ha sok van belőlük, az Ön webhelye szemet gyönyörködtetővé teheti.

Hálózatvédelem és adatvédelem

Mivel a felhasználó nem tudja, mi van a fordított proxy mögött, nem tudják könnyen megtámadni közvetlenül az eredeti kiszolgálókat. Valójában a fordított proxykat általában a privát alhálózatokban lévő eredetkiszolgálókkal használják, ami azt jelenti, hogy nincs bejövő kapcsolatuk a külső internettel.

Ez megőrzi a hálózati konfiguráció titkosságát, és bár az ismeretlenségen keresztüli biztonság soha nem tévedésbiztos, jobb, mint nyitva hagyni a támadásokra.

Ez a benne rejlő bizalom a hálózat tervezésekor is hasznos lehet. Például egy API-kiszolgáló, amely egy adatbázissal kommunikál, hasonló a fordított proxyhoz. Az adatbázis tudja, hogy megbízhat a privát alhálózatban lévő API-kiszolgálóban, és az API-kiszolgáló tűzfalként működik az adatbázis számára, és csak jó kapcsolatokat tesz lehetővé ezen keresztül.

Konfigurálható interfész

A fordított proxyk, például az NGINX egyik előnye a konfigurációs fok. Gyakran hasznos, ha más szolgáltatások előtt helyezik el őket, csak azért, hogy beállítsák, hogyan férhessenek hozzá a felhasználók ezekhez a szolgáltatásokhoz.

Például az NGINX képes korlátozni a kéréseket bizonyos útvonalakra, ami megakadályozhatja, hogy a visszaélések több ezer kérést küldjenek a kiindulási kiszolgálóknak egyetlen IP-címről. Nem állítja meg a DDOS támadásokat, de jó, hogy van.

Az NGINX több domain névről is képes forgalom továbbítására konfigurálható „szerver” blokkokkal. Például kéréseket küldhet a címre example.com az eredeti kiszolgálóra, de küldje el api.example.com speciális API szerverére, ill files.example.com fájltárhelyére, és így tovább. Minden szervernek lehet saját konfigurációja és saját szabályai.

Az NGINX további funkciókat is képes hozzáadni a meglévő eredeti szerverekhez, például központi HTTPS-tanúsítványokat és fejléc-konfigurációt.

Néha hasznos, ha az NGINX ugyanazon a gépen van, mint egy másik helyi szolgáltatás, csak az adott szolgáltatás tartalmának kiszolgálása érdekében. Például az ASP.NET webes API-k egy Kestrel nevű belső webszervert használnak, amely jól reagál a kérésekre, de nem sok másra. Nagyon gyakori, hogy a Kestrel-t privát porton futtatják, és az NGINX-et konfigurálható fordított proxyként használják.

Központi naplózás

Ez meglehetősen egyszerű, de ha a forgalom nagy része egyetlen szolgáltatáson megy keresztül, egyszerűvé teszi a naplók ellenőrzését. Az NGINX hozzáférési naplója sok hasznos információt tartalmaz a forgalomról, és bár nem haladja meg egy olyan szolgáltatás képességeit, mint a Google Analytics, nagyszerű információ birtokában van.

★ ★ ★ ★ ★