Weboldal keresés

A 10 legjobb nyílt forráskódú fordított proxyszerver Linuxhoz


A fordított proxyszerver olyan proxyszerver, amelyet az ügyfelek és a háttér-/eredeti szerverek között telepítenek, például egy HTTP-szerver, például NGINX, Apache stb., vagy Nodejs, Python, Java, Ruby, PHP és sok más programozási nyelv.

Ez egy átjáró vagy egy közvetítő szerver, amely fogadja az ügyfél kérését, továbbítja azt egy vagy több háttérkiszolgálónak, majd lekéri a választ a szervertől, és visszaküldi a kliensnek, így úgy tűnik, mintha a tartalom magától a fordított proxyszervertől származik.

A fordított proxyszerver általában egy belső oldali proxy, amelyet „front-endként” használnak a magánhálózaton lévő háttérkiszolgálókhoz való hozzáférés szabályozására és védelmére: általában a hálózati tűzfal mögött helyezik el. .

Biztonságuk fokozása érdekében segít a háttérkiszolgálóknak anonimitás elérésében. Az IT-infrastruktúrában a fordított proxy alkalmazástűzfalként, terheléselosztóként, TLS-lezáróként, webgyorsítóként (statikus és dinamikus tartalom gyorsítótárazásával) és sok más funkcióval is szolgálhat.

Ebben a cikkben áttekintjük a 10 legnépszerűbb nyílt forráskódú fordított proxykiszolgálót, amelyeket Linux rendszeren használhat.

1. HAProxy – (TCP/HTTP terheléselosztó)

A HAProxy (HAProxy, ami a High Availability Proxy rövidítése) egy ingyenes, nyílt forráskódú, nagyon gyors, megbízható és csúcsminőségű terheléselosztó és proxyszoftver TCP-hez. és HTTP-alapú alkalmazások, amelyek magas rendelkezésre állásra készültek.

A HAProxy egy HTTP fordított proxy, egy TCP-proxy és normalizáló, egy SSL/TLS-lezáró/kezdeményező/kitöltő, egy gyorsítótárazó proxy, egy HTTP-tömörítési offloader, egy forgalomszabályozó, egy tartalomalapú kapcsoló, egy FastCGI átjáró és még sok más. Védelmet nyújt a DDoS és a szolgáltatásokkal való visszaélés ellen is.

Egy eseményvezérelt, nem blokkoló motor hajtja, amely egy nagyon gyors I/O réteget egy prioritás-alapú, többszálú ütemezővel kombinál, amely lehetővé teszi több tízezer párhuzamos kapcsolat egyszerű kezelését.

Nevezetesen, a HAProxy a PROXY protokollt használja, hogy átadja az ügyfél kapcsolati adatait a háttér- vagy eredetkiszolgálóknak, így az alkalmazás megkapja az összes releváns információt.

A HAProxy néhány alapvető funkciója: proxy, SSL támogatás, szerverállapotok és állapotuk figyelése, magas rendelkezésre állás, terheléselosztás, ragadósság (a látogató megtartása ugyanazon a szerveren akár különböző események során is), tartalomváltás, HTTP átírás és átirányítás, szerver védelem, naplózás, statisztikák és még sok más.

2. NGINX – (HTTP és fordított proxy webszerver)

Az NGINX egy ingyenes, nyílt forráskódú, nagy teljesítményű és nagyon népszerű HTTP-szerver és fordított proxy. IMAP/POP3 proxyszerverként is működik. Az NGINX jól ismert nagy teljesítményéről, stabilitásáról, gazdag funkciókészletéről, egyszerű és rugalmas konfigurációjáról, valamint alacsony erőforrás-fogyasztásáról (különösen kis memóriaterületéről).

Akárcsak a HAProxy, az NGINX is eseményvezérelt architektúrával rendelkezik, így nem okoz gondot több tízezer párhuzamos kapcsolat kezelése, mivel a HAProxy PROXY-ját használja. > protokoll.

Az NGINX támogatja a gyorsítótárazással járó gyorsítótárazást az ngx_http_proxy_module modul használatával, amely lehetővé teszi a kérések átadását egy másik szervernek a HTTP-től eltérő protokollokon, például a FastCGI, az uwsgi, az SCGI és a Memcached protokollon.

Fontos, hogy támogatja a terheléselosztást és a hibatűrést, amelyek létfontosságúak a nagyméretű elosztott számítástechnikai rendszerekben. Az ngx_http_upstream_module modul lehetővé teszi a háttérkiszolgálók csoportjainak meghatározását az ügyfelektől érkező kérések elosztására.

Ez robusztusabbá, elérhetőbbé és megbízhatóbbá teszi alkalmazásait, nagymértékben méretezhetővé, válaszidővel és átviteli sebességgel. Ezen túlmenően, ami a biztonságot illeti, támogatja az SSL/TLS-lezárást és sok más biztonsági funkciót.

Hasznos cikkek az Nginx webszerverről, amelyeket érdemes elolvasni:

3. Lakk – (Reverse Caching Proxy)

A Varnish HTTP Cache (vagy Varnish Cache vagy egyszerűen csak Varnish) egy ingyenes, nyílt forráskódú, nagy teljesítményű és nagyon népszerű gyorsítótárazási fordított proxyszoftver, ismertebb nevén web. alkalmazásgyorsító, amelyet a HTTP-teljesítmény javítására terveztek szerveroldali gyorsítótár használatával.

Egy kliens és egy HTTP webszerver vagy alkalmazáskiszolgáló között kerül telepítésre; minden alkalommal, amikor egy kliens információt vagy erőforrást kér egy webszervertől, a Varnish eltárolja az információ másolatát, így amikor legközelebb a kliens ugyanazt az információt kéri, a Varnish kiszolgálja azt anélkül, hogy kérést küldene a webszervernek, így csökkentve a terhelést a webszerveren. szervert, és felgyorsítja a webtartalom szállítását.

A Varnish a Varnish Configuration Language (VLC) néven ismert rugalmas konfigurációs nyelvet használja, amely többek között lehetővé teszi a rendszergazdák számára, hogy konfigurálják a bejövő kéréseket. feldolgozni, milyen tartalmat kell kiszolgálni, és honnan, hogyan kell módosítani a kérést vagy választ, és még sok más.

A lakk is bővíthető – bővíthető a Lakkmodulok (VMOD-ok) segítségével, a felhasználók pedig megírhatják egyéni moduljaikat, vagy használhatják a közösség által biztosított modulokat.

A Varnish fő korlátja az SSL/TLS támogatásának hiánya. A HTTPS engedélyezésének egyetlen módja egy SSL/TLS lezáró vagy offloader, például HAProxy vagy NGINX telepítése előtte.

4. Træfɪk – (The Cloud Native Application Proxy)

A Træfɪk (ejtsd: Traffic) egy ingyenes, nyílt forráskódú, modern és gyors HTTP fordított proxy és terheléselosztó mikroszolgáltatások telepítéséhez, amelyek több terheléselosztási algoritmust is támogatnak.

Különféle szolgáltatókkal (vagy szolgáltatásfelderítési mechanizmusokkal vagy hangszerelési eszközökkel) kapcsolódhat, mint például a Kubernetes, a Docker, az Etcd, a Rest API, a Mesos/Marathon, a Swarm és a Zookeper.

Szerethető tulajdonsága, hogy képes automatikusan és dinamikusan kezelni a konfigurációt, így megtalálja a megfelelő konfigurációt szolgáltatásaihoz. Ezt úgy teszi, hogy átvizsgálja az infrastruktúrát, hogy megtalálja a releváns információkat, és felfedezze, hogy melyik szolgáltatás milyen kérést szolgál ki a külső világból. A szolgáltatók közlik a Træfɪk szolgáltatással, hogy hol találhatók alkalmazásai vagy mikroszolgáltatásai.

A Træfɪk egyéb funkcióit támogatja a WebSockets, a HTTP/2 és a GRPC, a gyors újratöltés (folyamatosan frissíti a konfigurációt újraindítás nélkül), a HTTPS a Titkosítsuk a tanúsítványokat (a helyettesítő karakteres tanúsítványok támogatása), valamint a REST API elérhetővé tétele. Hozzáférési naplókat is vezet, és mutatókat is biztosít (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Ezenkívül a Træfɪk egy egyszerű HTML-alapú webes felhasználói felülettel érkezik, amely az események figyelemmel kísérésére szolgál. Támogatja a megszakítókat, az újrapróbálkozási kérelmeket, a sebességkorlátozást és az alapvető hitelesítést is.

5. Apache Traffic Server – (visszafelé és előremenő proxyszerver)

A korábban a Yahoo tulajdonában lévő kereskedelmi termék, amelyet később átadtak az Apache Foundationnek, az Apache Traffic Server egy ingyenes, nyílt forráskódú, gyors gyorsítótáraz előre és fordított proxy. szerver.

A Traffic Server terheléselosztóként is működik, és részt vehet a rugalmas gyorsítótár-hierarchiákban. Ismeretes, hogy több mint 400 TB-ot bonyolított le naponta a Yahoo-nál.

Tartalmazza a tartalomkérések életben tartási, szűrésének vagy anonimizálásának készletét, és egy API-n keresztül bővíthető, amely lehetővé teszi a felhasználók számára, hogy egyéni bővítményeket hozzanak létre a HTTP-fejlécek módosításához, az ESI-kérések kezeléséhez vagy új gyorsítótár-algoritmusok tervezéséhez.

6. Squid – (gyorsítótárazás és továbbítás HTTP-proxy)

A Squid egy ingyenes, nyílt forráskódú és jól ismert proxyszerver és webgyorsítótár démon, amely különféle protokollokat támogat, például HTTP, HTTPS, FTP stb. Fordított proxy (httpd-gyorsító) móddal rendelkezik, amely gyorsítótárazza a kimenő adatokra vonatkozó bejövő kéréseket.

Támogatja a gazdag forgalomoptimalizálási lehetőségeket, a hozzáférés-vezérlést, az engedélyezést, a naplózási lehetőségeket és még sok mást.

7. Pound – (fordított proxy és terheléselosztó)

A Pound egy másik ingyenes és nyílt forráskódú, könnyű fordított proxy és terheléselosztó, valamint webszerverek front-endje. Ez egyben egy SSL-lezáró is (amely dekódolja az ügyfelek HTTPS-kéréseit, és sima HTTP-ként küldi el a háttérkiszolgálóknak).

Egy HTTP/HTTPS fertőtlenítő (amely ellenőrzi a kérések helyességét, és csak a jól formázottakat fogadja el) és egy feladatátvevő szerver.

8. Apache – (HTTP webszerver)

Az Apache HTTP-kiszolgáló (más néven HTTPD), a világ legnépszerűbb webszervere, szintén telepíthető és konfigurálható fordított proxyként.

Az Apache kiválóan teljesít a klienskérelmek háttérkiszolgálókhoz való irányításában, a biztonság fokozásában, a terheléselosztásban és a webalkalmazások teljesítményének optimalizálásában. Az Apache közvetítőként képes hatékonyan elosztani a bejövő forgalmat több szerverpéldány között, így biztosítva a magas rendelkezésre állást és a zökkenőmentes felhasználói élményt.

Robusztus és testreszabható konfigurációs lehetőségei kiváló választássá teszik azokat a szervezeteket, amelyek megbízható megoldást keresnek a fordított proxy igényeire, legyen szó tartalom gyorsítótárazásról vagy alkalmazásszállításról.

9. Skipper – (HTTP útválasztó és fordított proxy)

A Skipper egy ingyenes és nyílt forráskódú HTTP-útválasztó és fordított proxy a szolgáltatások összeállításához, beleértve a Kubernetes Ingresshez hasonló használati eseteket is.

Jelentős számú dinamikusan konfigurált HTTP-útvonal-definíció kezelésére készült, meghaladja a 800 000 útvonalat, bonyolult keresési feltételekkel rendelkezik, és rugalmasságot kínál a kérésfolyamat szűrőkkel történő javításához.

Könnyen telepíthető, ahogy van, vagy bővíthető egyéni keresési, szűrőlogikai és konfigurációs források beépítésével.

10 Caddy 2 – Gyors szerver automatikus HTTPS-sel

A Caddy 2 egy egyszerűségéről és sokoldalúságáról híres nyílt forráskódú webszerver és fordított proxy, amely alapértelmezés szerint felhasználóbarát felületet és automatikus HTTPS-t kínál, így az újoncok és a tapasztalt felhasználók számára is elérhető választás.

A Caddy 2 úgy lett kialakítva, hogy könnyedén kezelje a webtárhelyet, a HTTP/2-t, a terheléselosztást és a proxyt, javítva a webhely teljesítményét és biztonságát. Nyílt forráskódú jellege ösztönzi a közösségi hozzájárulásokat, és a könnyű kezelhetőség és a modern szolgáltatásai miatt vált népszerűvé a webtárhely és szerverkezelés világában.

Következtetés

Ebben az útmutatóban ennyit közöltünk Önnel. A listában szereplő egyes eszközökről további információért látogasson el a megfelelő webhelyekre. Ne felejtse el megosztani velünk gondolatait az alábbi visszajelzési űrlapon keresztül.