8 Top Open Source Reverse Proxy-servere for Linux


En omvendt proxy-server er en type proxy-server som distribueres mellom klienter og back-end/opprinnelsesservere, for eksempel en HTTP-server som NGINX, Apache, osv.. eller applikasjonsservere skrevet i Nodejs, Python, Java, Ruby , PHP og mange andre programmeringsspråk.

Det er en gateway eller en mellomtjener som tar en klientforespørsel, sender den videre til en eller flere back-end-servere, og deretter henter svaret fra serveren og leverer det tilbake til klienten, slik at det ser ut som om innholdet stammet fra selve den omvendte proxy-serveren.

Vanligvis er en omvendt proxy-server en intern-vendt proxy som brukes som en front-end for å kontrollere og beskytte tilgang til back-end-servere på et privat nettverk: den er vanligvis distribuert bak nettverkets brannmur.

Det hjelper back-end-servere med å oppnå anonymitet for å øke sikkerheten deres. I en IT-infrastruktur kan en omvendt proxy også fungere som applikasjonsbrannmur, lastbalanser, TLS-terminator, webakselerator (ved å bufre statisk og dynamisk innhold) og mye mer.

I denne artikkelen vil vi gjennomgå de 8 beste open source reverse proxy-serverne du kan bruke på et Linux-system.

1. HAProxy

HAProxy (HAProxy, som står for High Availability Proxy), en gratis, åpen kildekode, veldig rask, pålitelig og førsteklasses lastbalanserings- og proxy-programvare for TCP- og HTTP-baserte applikasjoner, bygget for høy tilgjengelighet.

HAProxy er en HTTP-omvendt proxy, en TCP-proxy og normalisator, en SSL/TLS-terminator/initiator/offloader, en caching-proxy, en HTTP-komprimeringsavlaster, en trafikkregulator, en innholdsbasert svitsj, en FastCGI-gateway og mer. Det er også en beskyttelse mot DDoS og tjenestemisbruk.

Den drives av en hendelsesdrevet, ikke-blokkerende motor som kombinerer et veldig raskt I/O-lag med en prioritetsbasert flertrådsplanlegger som gjør det enkelt å håndtere titusenvis av samtidige tilkoblinger. Spesielt bruker HAProxy PROXY-protokollen for å sende klientens tilkoblingsinformasjon til backend- eller opprinnelsesservere slik at en applikasjon får all relevant informasjon.

Noen av HAProxys grunnleggende funksjoner inkluderer proxying, SSL-støtte, overvåking av både servertilstander og sin egen tilstand, høy tilgjengelighet, lastbalansering, klebrighet (opprettholde en besøkende på samme server selv på tvers av forskjellige hendelser), innholdsbytte, HTTP-omskriving og omdirigering, serverbeskyttelse, logging, statistikk og mye mer.

2. NGINX

NGINX, en gratis, åpen kildekode, høy ytelse og veldig populær HTTP-server og omvendt proxy. Den fungerer også som en IMAP/POP3 proxy-server. NGINX er kjent for sin høye ytelse, stabilitet, rike funksjonssett, enkle og fleksible konfigurasjon og lave ressursforbruk (spesielt lite minne).

Akkurat som HAProxy, har NGINX en hendelsesdrevet arkitektur, så den har ingen problemer med å håndtere titusenvis av samtidige tilkoblinger, siden den bruker HAProxys PROXY-protokoll.

NGINX støtter akselerert revers proxying med caching ved hjelp av ngx_http_proxy_module-modulen, som tillater å sende forespørsler til en annen server over andre protokoller enn HTTP, for eksempel FastCGI, uwsgi, SCGI og memcached.

Det er viktig at den støtter lastbalansering og feiltoleranse, som er viktige aspekter ved distribuerte datasystemer i stor skala. Modulen ngx_http_upstream_module gjør det mulig å definere grupper av backend-servere for å distribuere forespørslene som kommer fra klienter. Dette gjør applikasjonene dine mer robuste, tilgjengelige og pålitelige, svært skalerbare, med responstid og gjennomstrømning. I tillegg, angående sikkerhet, støtter den SSL/TLS-terminering og så mange andre sikkerhetsfunksjoner.

Nyttige artikler om Nginx webserver du kanskje vil lese:

  • Hvordan installerer du Nginx Web Server på Ubuntu 20.04
  • Hvordan installerer du Nginx på CentOS 8
  • Hvordan aktiverer du NGINX-statusside

3. Lakk HTTP Cache

Varnish HTTP Cache (eller Varnish Cache eller ganske enkelt Varnish) er en gratis, åpen kildekode, høyytelses og veldig populær caching omvendt proxy-programvare bedre kjent som en nettapplikasjonsakselerator, designet for å forbedre HTTP-ytelsen ved å bruke server-side caching.

Den distribueres mellom en klient og en HTTP-nettserver eller applikasjonsserver; hver gang en klient ber om informasjon eller en ressurs fra en webserver, lagrer Varnish en kopi av informasjonen, så neste gang klienten ber om den samme informasjonen, vil Varnish servere den uten å sende en forespørsel til webserveren og dermed redusere belastningen på serveren og i sin tur øke hastigheten på levering av nettinnhold.

Varnish bruker et fleksibelt konfigurasjonsspråk kjent som Varnish Configuration Language (VLC) som blant annet gjør det mulig for systemadministratorer å konfigurere hvordan innkommende forespørsler skal behandles, hvilket innhold som skal serveres, og hvorfra, og hvordan forespørselen eller svaret skal endres , og mye mer.

Lakken er også utvidbar – den kan utvides ved å bruke lakkmoduler (VMODs) og brukere kan skrive sine egendefinerte moduler eller bruke fellesskapsleverte moduler.

Hovedbegrensningen til Varnish er mangelen på støtte for SSL/TLS. Den eneste måten å aktivere HTTPS på er å distribuere en SSL/TLS-terminator eller avlaster som HAProxy eller NGINX foran den.

4. Træfɪk

Træfɪk (uttales Trafikk) er en gratis, åpen kildekode, moderne og rask HTTP-omvendt proxy og lastbalanser for å distribuere mikrotjenester som støtter flere lastbalanseringsalgoritmer. Den kan kommunisere med ulike leverandører (eller tjenesteoppdagelsesmekanismer eller orkestreringsverktøy) som Kubernates, Docker, Etcd, Rest API, Mesos/Marathon, Swarm og Zookeper.

Den elskelige funksjonen er dens evne til å administrere konfigurasjonen automatisk og dynamisk og dermed finne den riktige konfigurasjonen for tjenestene dine. Den gjør dette ved å skanne infrastrukturen din for å finne relevant informasjon og oppdage hvilken tjeneste som betjener hvilken forespørsel fra omverdenen. Leverandørene forteller Træfɪk hvor applikasjonene eller mikrotjenestene dine befinner seg.

Træfɪks andre funksjoner støttes for WebSockets, HTTP/2 og GRPC, og hot reloading (oppdaterer konfigurasjonen kontinuerlig uten omstart), HTTPS ved hjelp av Let's Encrypt-sertifikater (støtte for jokertegnsertifikater), og avslører en REST API. Den fører også tilgangslogger, og den gir beregninger (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Træfɪk leveres også med et enkelt HTML-basert nettbrukergrensesnitt som brukes til å holde øye med hendelser. Den støtter også strømbrytere, forespørsler om forsøk på nytt, hastighetsbegrensning og grunnleggende autentisering.

5. Apache Trafikkserver

Tidligere et kommersielt produkt eid av Yahoo som senere ble overlevert til Apache Foundation, er Apache Traffic Server en gratis, åpen kildekode og hurtigbufring fremover og omvendt proxy-server.

Traffic Server fungerer også som en lastbalanser og kan delta i fleksible cachehierarkier. Det er kjent for å ha håndtert over 400 TB per dag med trafikk hos Yahoo.

Den har et sett med å holde i live, filtrere eller anonymisere innholdsforespørsler, og kan utvides via et API som lar brukere lage tilpassede plugins for å endre HTTP-hoder, håndtere ESI-forespørsler eller designe nye cache-algoritmer.

6. Squid Proxy Server

Squid er en gratis, åpen kildekode og velkjent proxy-server og webcache-daemon som støtter ulike protokoller som HTTP, HTTPS, FTP og mer. Den har en omvendt proxy-modus (httpd-akselerator) som bufrer innkommende forespørsler om utgående data.

Den støtter rike alternativer for trafikkoptimalisering, tilgangskontroll, autorisasjon, loggingsfasiliteter og mye mer.

7. Pund

A Pound er en annen gratis og åpen kildekode, lett omvendt proxy og lastbalanserer og front-end for webservere. Det er også en SSL-terminator (som dekrypterer HTTPS-forespørsler fra klienter og sender dem som vanlig HTTP til back-end-serverne), en HTTP/HTTPS-renser (som bekrefter forespørsler om korrekthet og aksepterer bare velformede), og en feil. -over server.

8. Apache HTTP-server

Sist men ikke minst har vi en Apache HTTP-server (også kjent som HTTPD), den mest populære webserveren på kloden. Den kan også distribueres og konfigureres til å fungere som en omvendt proxy.

I tillegg kan du også sjekke ut Skipper, den nye ungen på blokken. Det er en gratis og åpen kildekode HTTP-ruter og omvendt proxy for tjenestesammensetning, inkludert brukstilfeller som Kubernetes Ingress.

Det er alt vi hadde for deg i denne guiden. For mer informasjon om hvert verktøy i denne listen, sjekk ut deres respektive nettsteder. Ikke glem å dele tankene dine med oss via tilbakemeldingsskjemaet nedenfor.