8 Top Open Source Reverse Proxy-servere til Linux


En omvendt proxyserver er en type proxyserver, der distribueres mellem klienter og back-end/origin-servere, for eksempel en HTTP-server som NGINX, Apache osv. Eller applikationsservere skrevet i Nodejs, Python, Java, Ruby , PHP og mange andre programmeringssprog.

Det er en gateway eller en mellemliggende server, der tager en klientanmodning, sender den videre til en eller flere back-end-servere og derefter henter svaret fra serveren og leverer det tilbage til klienten, hvilket får det til at se ud som om indholdet stammer fra selve den omvendte proxyserver.

Generelt er en omvendt proxyserver en intern vendt proxy, der bruges som en 'front-end' til at kontrollere og beskytte adgangen til back-end-servere på et privat netværk: den er typisk implementeret bag netværksfirewall.

Det hjælper back-end-servere med at opnå anonymitet for at forbedre deres sikkerhed. I en IT-infrastruktur kan en omvendt proxy også fungere som en applikationsfirewall, load balancer, TLS terminator, webaccelerator (ved at cache statisk og dynamisk indhold) og meget mere.

I denne artikel gennemgår vi de 8 øverste open source-omvendte proxyservere, du kan bruge på et Linux-system.

1. HAProxy

HAProxy (HAProxy, som står for High Availability Proxy), en gratis open source, meget hurtig, pålidelig og top-notch belastningsbalancerings- og proxy-software til TCP- og HTTP-baserede applikationer, bygget til høj tilgængelighed.

HAProxy er en HTTP-reverse-proxy, en TCP-proxy og normalisering, en SSL/TLS-terminator/initiator/offloader, en cache-proxy, en HTTP-komprimeringsafloader, en trafikregulator, en indholdsbaseret switch, en FastCGI-gateway og mere. Det er også en beskyttelse mod DDoS og misbrug af tjenester.

Det er drevet af en hændelsesdrevet, ikke-blokerende motor, der kombinerer et meget hurtigt I/O-lag med en prioritetsbaseret, multi-threaded scheduler, der gør det let at håndtere titusinder af samtidige forbindelser. Især bruger HAProxy PROXY-protokollen til at videregive klientens forbindelsesoplysninger til backend- eller originalservere, så et program får alle de relevante oplysninger.

Nogle af HAProxy's grundlæggende funktioner inkluderer proxying, SSL-support, overvågning af begge servertilstande og dens egen tilstand, høj tilgængelighed, belastningsbalancering, klæbrighed (vedligehold en besøgende på den samme server selv på tværs af forskellige begivenheder), skift af indhold, HTTP-omskrivning og omdirigering, serverbeskyttelse, logning, statistik og meget mere.

2. NGINX

NGINX, en gratis, open source, højtydende og meget populær HTTP-server og omvendt proxy. Det fungerer også som en IMAP/POP3 proxyserver. NGINX er kendt for sin høje ydeevne, stabilitet, rige funktionssæt, enkle og fleksible konfiguration og lave ressourceforbrug (især lille hukommelsesfodaftryk).

Ligesom HAProxy har NGINX en hændelsesdrevet arkitektur, så det har ikke noget problem at håndtere titusinder af samtidige forbindelser, da det bruger HAProxy's PROXY-protokol.

NGINX understøtter accelereret omvendt proxying med cache ved hjælp af ngx_http_proxy_module-modulet, som giver mulighed for at videresende anmodninger til en anden server via andre protokoller end HTTP, såsom FastCGI, uwsgi, SCGI og memcached.

Det er vigtigt, at det understøtter belastningsafbalancering og fejltolerance, som er vigtige aspekter af store distribuerede computersystemer. Modulet ngx_http_upstream_module giver mulighed for at definere grupper af backend-servere til at distribuere de anmodninger, der kommer fra klienter. Dette gør dine applikationer mere robuste, tilgængelige og pålidelige, meget skalerbare med responstid og kapacitet. Derudover med hensyn til sikkerhed understøtter det SSL/TLS-opsigelse og så mange andre sikkerhedsfunktioner.

Nyttige artikler på Nginx webserver, du måske vil læse:

  • How to Install Nginx Web Server on Ubuntu 20.04
  • How to Install Nginx on CentOS 8
  • How to Enable NGINX Status Page

3. Vernish HTTP Cache

Varnish HTTP Cache (eller Varnish Cache eller simpelthen Varnish) er en gratis, open-source, højtydende og meget populær cache-reverse-proxy-software, bedre kendt som en webapplikationsaccelerator, designet til at forbedre HTTP-ydeevne ved hjælp af caching på serversiden.

Det distribueres mellem en klient og en HTTP-webserver eller applikationsserver. hver gang en klient beder om information eller en ressource fra en webserver, gemmer Varnish en kopi af informationen, så næste gang klienten beder om de samme oplysninger, vil Varnish servere dem uden at sende en anmodning til webserveren, hvilket reducerer belastningen på serveren og til gengæld fremskynde levering af webindhold.

Varnish bruger et fleksibelt konfigurationssprog, kendt som Varnish Configuration Language (VLC), som blandt andet gør det muligt for systemadministratorer at konfigurere, hvordan indgående anmodninger skal behandles, hvilket indhold der skal serveres, og hvorfra, og hvordan anmodningen eller svaret skal ændres , og meget mere.

Lakken kan også udvides - den kan udvides ved hjælp af Varnish Modules (VMOD'er), og brugere kan skrive deres brugerdefinerede moduler eller bruge moduler, der leveres af samfundet.

Hovedbegrænsningen ved Varnish er manglen på support til SSL/TLS. Den eneste måde at aktivere HTTPS på er at installere en SSL/TLS-terminator eller offloader såsom HAProxy eller NGINX foran den.

4. Træfɪk

Træfɪk (udtalt Traffic) er en gratis, open source, moderne og hurtig HTTP reverse proxy og load balancer til implementering af mikrotjenester, der understøtter flere algoritmer til belastningsbalancering. Det kan interface med forskellige udbydere (eller serviceopdagelsesmekanismer eller orkestreringsværktøjer) såsom Kubernates, Docker, Etcd, Rest API, Mesos/Marathon, Swarm og Zookeper.

Dens elskelige funktion er dens evne til at administrere sin konfiguration automatisk og dynamisk og dermed opdage den rigtige konfiguration til dine tjenester. Det gør det ved at scanne din infrastruktur for at finde relevant information og opdage, hvilken service der tjener, hvilken anmodning fra den eksterne verden. Udbyderne fortæller Træfɪk, hvor dine applikationer eller mikrotjenester er placeret.

Træfɪks andre funktioner understøttes til WebSockets, HTTP/2 og GRPC og hot reloading (opdaterer løbende konfigurationen uden genstart), HTTPS ved hjælp af Let's Encrypt-certifikater (wildcard-certifikatunderstøttelse) og udsætter en REST API. Det fører også adgangslogfiler, og det giver metrics (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Træfɪk leveres også med en simpel HTML-baseret web-brugergrænseflade, der bruges til at holde øje med begivenheder. Det understøtter også afbrydere, prøv igen anmodninger, hastighedsbegrænsning og grundlæggende godkendelse.

5. Apache Traffic Server

Tidligere et kommercielt produkt ejet af Yahoo, som senere blev overdraget til Apache Foundation, er Apache Traffic Server en gratis, open source og hurtig caching fremad- og reverse-proxyserver.

Traffic Server fungerer også som en belastningsafbalancering og kan deltage i fleksible cachehierarkier. Det vides at have håndteret over 400 TB om dagen med trafik på Yahoo.

Den har et sæt vedligeholdelse, filtrering eller anonymisering af indholdsanmodninger og kan udvides via en API, der giver brugerne mulighed for at oprette brugerdefinerede plugins til at ændre HTTP-headere, håndtere ESI-anmodninger eller designe nye cache-algoritmer.

6. Blæksprutte-proxyserver

Blæksprutte er en gratis, open source og velkendt proxyserver og web-cache-dæmon, der understøtter forskellige protokoller såsom HTTP, HTTPS, FTP og mere. Den har en omvendt proxy-tilstand (httpd-accelerator), der cachelagrer indgående anmodninger om udgående data.

Det understøtter rige trafikoptimeringsindstillinger, adgangskontrol, autorisation, logningsfaciliteter og meget mere.

7. Pund

Et pund er en anden gratis og open source, letvægts reverse-proxy og load balancer og front-end til webservere. Det er også en SSL-terminator (der dekrypterer HTTPS-anmodninger fra klienter og sender dem som almindelig HTTP til back-end-serverne), en HTTP/HTTPS-desinficeringsmiddel (der bekræfter anmodninger om korrekthed og kun accepterer velformede) og en fejl -over server.

8. Apache HTTP-server

Sidst men ikke mindst har vi en Apache HTTP-server (også kendt som HTTPD), den mest populære webserver på kloden. Det kan også implementeres og konfigureres til at fungere som en omvendt proxy.

Derudover kan du også tjekke Skipper, det nye barn på blokken. Det er en gratis og open source HTTP-router og omvendt proxy til tjenestesammensætning, herunder brugssager som Kubernetes Ingress.

Det er alt, hvad vi havde for dig i denne vejledning. For mere information om hvert værktøj på denne liste, se deres respektive websteder. Glem ikke at dele dine tanker med os via feedbackformularen nedenfor.