Vyhledávání na webu

10 nejlepších Open Source reverzních proxy serverů pro Linux


Reverzní proxy server je typ proxy serveru, který je nasazen mezi klienty a back-end/původní servery, například HTTP server jako NGINX, Apache atd. nebo aplikační servery napsané v Nodejs, Python, Java, Ruby, PHP a mnoho dalších programovacích jazyků.

Je to brána nebo zprostředkující server, který převezme požadavek klienta, předá jej jednomu nebo více back-end serverům a následně načte odpověď ze serveru a doručí ji zpět klientovi, takže to vypadá, jako by obsah pochází ze samotného reverzního proxy serveru.

Obecně platí, že reverzní proxy server je interní proxy server používaný jako „front-end“ pro řízení a ochranu přístupu k back-end serverům v privátní síti: obvykle je nasazen za síťovým firewallem. .

Pomáhá back-endovým serverům dosáhnout anonymity a zvýšit jejich bezpečnost. V IT infrastruktuře může reverzní proxy fungovat také jako aplikační firewall, load balancer, TLS terminátor, webový akcelerátor (ukládáním statického a dynamického obsahu do mezipaměti) a mnoho dalšího.

V tomto článku se podíváme na 10 nejlepších reverzních proxy serverů s otevřeným zdrojovým kódem, které můžete použít v systému Linux.

1. HAProxy – (TCP/HTTP Load Balancer)

HAProxy (HAProxy, což je zkratka pro High Availability Proxy), je bezplatný, open-source, velmi rychlý, spolehlivý a špičkový software pro vyrovnávání zátěže a proxy server pro TCP. a aplikace založené na HTTP, vytvořené pro vysokou dostupnost.

HAProxy je HTTP reverzní proxy, TCP proxy a normalizátor, SSL/TLS terminátor/iniciátor/offloader, cachovací proxy, HTTP komprese offloader, regulátor provozu, obsahově založený přepínač, Brána FastCGI a další. Je to také ochrana proti DDoS a zneužití služeb.

Je poháněn událostmi řízeným, neblokujícím enginem, který kombinuje velmi rychlou I/O vrstvu s vícevláknovým plánovačem založeným na prioritách, což mu umožňuje snadno pracovat s desítkami tisíc souběžných připojení.

Zejména HAProxy používá protokol PROXY k předání informací o připojení klienta na backend nebo původní servery, aby aplikace získala všechny relevantní informace.

Mezi základní funkce HAProxy patří proxy, podpora SSL, sledování stavu serveru a jeho stavu, vysoká dostupnost, vyvažování zátěže, stickiness (udržení návštěvníka na stejném serveru i přes různé události), přepínání obsahu, přepisování a přesměrování HTTP, server ochrana, protokolování, statistiky a mnoho dalšího.

2. NGINX – (HTTP a reverzní proxy webový server)

NGINX je bezplatný, open source, vysoce výkonný a velmi oblíbený HTTP server a reverzní proxy. Funguje také jako IMAP/POP3 proxy server. NGINX je dobře známý pro svůj vysoký výkon, stabilitu, bohatou sadu funkcí, jednoduchou a flexibilní konfiguraci a nízkou spotřebu zdrojů (zejména malé nároky na paměť).

Stejně jako HAProxyNGINX architekturu řízenou událostmi, takže nemá problém zvládnout desítky tisíc souběžných připojení, protože používá PROXY od HAProxy protokol.

NGINX podporuje zrychlené reverzní proxy s ukládáním do mezipaměti pomocí modulu ngx_http_proxy_module, který umožňuje předávání požadavků jinému serveru přes jiné protokoly než HTTP, jako je FastCGI, uwsgi, SCGI a Memcached.

Důležité je, že podporuje vyvažování zátěže a odolnost proti chybám, což jsou zásadní aspekty rozsáhlých distribuovaných počítačových systémů. Modul ngx_http_upstream_module umožňuje definovat skupiny backendových serverů pro distribuci požadavků přicházejících od klientů.

Díky tomu jsou vaše aplikace robustnější, dostupnější a spolehlivější, vysoce škálovatelné, s dobou odezvy a propustností. Navíc, pokud jde o bezpečnost, podporuje ukončení SSL/TLS a mnoho dalších bezpečnostních funkcí.

Užitečné články o webovém serveru Nginx, které byste si mohli rádi přečíst:

3. Lak – (Reverse Caching Proxy)

Varnish HTTP Cache (nebo Varnish Cache nebo jednoduše Varnish) je bezplatný, open-source, vysoce výkonný a velmi oblíbený reverzní proxy software pro ukládání do mezipaměti lépe známý jako web. aplikační akcelerátor určený ke zlepšení výkonu HTTP pomocí mezipaměti na straně serveru.

Je nasazen mezi klientem a webovým serverem HTTP nebo aplikačním serverem; pokaždé, když klient požaduje informace nebo zdroj z webového serveru, Varnish uloží kopii informací, takže až si klient příště vyžádá stejné informace, Varnish je obslouží bez odeslání požadavku na webový server, čímž se sníží zatížení serveru. server a následně urychlit doručování webového obsahu.

Varnish používá flexibilní konfigurační jazyk známý jako Varnish Configuration Language (VLC), který mimo jiné umožňuje správcům systému konfigurovat, jak mají být příchozí požadavky zpracovány, jaký obsah by měl být doručen a odkud a jak by měla být žádost nebo odpověď změněna a mnoho dalšího.

Lak je také rozšiřitelný – lze jej rozšířit pomocí Varnish Modules (VMODs) a uživatelé mohou psát své vlastní moduly nebo používat moduly poskytované komunitou.

Hlavním omezením Varnish je nedostatek podpory pro SSL/TLS. Jediným způsobem, jak povolit HTTPS, je nasazení SSL/TLS terminátoru nebo offloaderu, jako je HAProxy nebo NGINX v před ním.

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

Træfɪk (vyslovováno Traffic) je bezplatný, open-source, moderní a rychlý HTTP reverzní proxy a nástroj pro vyrovnávání zatížení pro nasazení mikroslužeb, které podporují více algoritmů pro vyrovnávání zatížení.

Může se propojit s různými poskytovateli (nebo mechanismy zjišťování služeb nebo nástroji pro orchestraci), jako jsou Kubernetes, Docker, Etcd, Rest API, Mesos/Marathon, Swarm a Zookeper.

Jeho oblíbenou funkcí je jeho schopnost spravovat konfiguraci automaticky a dynamicky, a tak objevit správnou konfiguraci pro vaše služby. Dělá to tak, že prohledá vaši infrastrukturu, aby našel relevantní informace a zjistil, která služba obsluhuje který požadavek z vnějšího světa. Poskytovatelé sdělí Træfɪk, kde se nacházejí vaše aplikace nebo mikroslužby.

Další funkce Træfɪk jsou podporovány pro WebSockets, HTTP/2 a GRPC, hot reloading (nepřetržitě aktualizuje konfiguraci bez restartování), HTTPS pomocí Let’s Encrypt certifikátů (podpora zástupných certifikátů) a zpřístupňuje REST API. Uchovává také přístupové protokoly a poskytuje metriky (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Træfɪk se také dodává s jednoduchým webovým uživatelským rozhraním založeným na HTML, které se používá ke sledování událostí. Podporuje také jističe, požadavky na opakování, omezení rychlosti a základní ověřování.

5. Apache Traffic Server – (reverzní a vpřed proxy server)

Apache Traffic Server, dříve komerční produkt vlastněný Yahoo, který byl později předán nadaci Apache Foundation, je bezplatný, open-source a rychlý caching forward a back proxy. server.

Traffic Server také funguje jako nástroj pro vyrovnávání zatížení a může se podílet na flexibilních hierarchiích mezipaměti. Je známo, že zpracoval přes 400 TB denně provozu na Yahoo.

Obsahuje sadu udržování, filtrování nebo anonymizace požadavků na obsah a je rozšiřitelný prostřednictvím rozhraní API, které uživatelům umožňuje vytvářet vlastní pluginy pro úpravu HTTP hlaviček, zpracování požadavků ESI nebo navrhování nových algoritmů mezipaměti.

6. Squid – (ukládání do mezipaměti a předávání HTTP proxy)

Squid je bezplatný, open source a známý proxy server a démon webové mezipaměti, který podporuje různé protokoly, jako je HTTP, HTTPS, FTP a další. Obsahuje režim reverzního proxy (httpd-accelerator), který ukládá příchozí požadavky na odchozí data.

Podporuje bohaté možnosti optimalizace provozu, řízení přístupu, autorizaci, protokolování a mnoho dalšího.

7. Libra – (Reverse Proxy a Load Balancer)

A Pound je další bezplatný a open-source, lehký reverzní proxy a vyvažovač zatížení a front-end pro webové servery. Je to také terminátor SSL (který dešifruje požadavky HTTPS od klientů a odesílá je jako prostý HTTP na servery typu back-end).

Dezinfekční prostředek HTTP/HTTPS (který ověřuje správnost požadavků a přijímá pouze ty správně vytvořené) a záložní server.

8. Apache – (HTTP webový server)

Server Apache HTTP (také známý jako HTTPD), nejoblíbenější webový server na světě, lze také nasadit a nakonfigurovat tak, aby fungoval jako reverzní proxy.

Apache vyniká ve směrování požadavků klientů na backend servery, zvyšuje bezpečnost, vyrovnává zatížení a optimalizuje výkon webových aplikací. Tím, že Apache působí jako prostředník, může efektivně distribuovat příchozí provoz na více serverových instancí, čímž zajišťuje vysokou dostupnost a bezproblémové uživatelské prostředí.

Jeho robustní a přizpůsobitelné možnosti konfigurace z něj dělají nejlepší volbu pro organizace, které hledají spolehlivé řešení pro potřeby reverzního proxy, ať už pro ukládání obsahu do mezipaměti nebo doručování aplikací.

9. Skipper – (HTTP router a reverzní proxy)

Skipper je bezplatný a open source HTTP router a reverzní proxy pro složení služeb, včetně případů použití, jako je Kubernetes Ingress.

Je navržen tak, aby spravoval značný počet dynamicky konfigurovaných definic tras HTTP, překonávajících 800 000 tras, obsahuje složité podmínky vyhledávání a nabízí flexibilitu pro vylepšení toku požadavků pomocí filtrů.

Lze jej snadno nasadit tak, jak je, nebo jej lze rozšířit začleněním vlastního vyhledávání, logiky filtrů a zdrojů konfigurace.

10 Caddy 2 – Rychlý server s automatickým HTTPS

Caddy 2 je webový server s otevřeným zdrojovým kódem a reverzní proxy známý svou jednoduchostí a všestranností, který ve výchozím nastavení nabízí uživatelsky přívětivé rozhraní a automatický HTTPS, což z něj činí dostupnou volbu pro nováčky i zkušené uživatele.

Caddy 2 je navržen tak, aby bez námahy zvládal webhosting, HTTP/2, vyvažování zátěže a proxy, čímž zvyšuje výkon a zabezpečení webových stránek. Jeho open source povaha podporuje příspěvky komunity a získal si oblibu pro své snadné použití a moderní funkce ve světě webhostingu a správy serverů.

Závěr

To je vše, co jsme pro vás v této příručce měli. Další informace o každém nástroji v tomto seznamu naleznete na příslušných webových stránkách. Nezapomeňte se s námi podělit o své myšlenky prostřednictvím formuláře pro zpětnou vazbu níže.