8 principals servidors intermediaris inversos de codi obert per a Linux


Un servidor intermediari invers és un tipus de servidor intermediari que es desplega entre clients i servidors de fons/origen, per exemple, un servidor HTTP com NGINX, Apache, etc. o servidors d'aplicacions escrits en Nodejs, Python, Java, Ruby. , PHP i molts altres llenguatges de programació.

És una passarel·la o un servidor intermediari que pren una sol·licitud del client, la passa a un o més servidors de fons i, posteriorment, obté la resposta del servidor i la torna al client, fent que sembli com si el contingut es va originar des del propi servidor intermediari invers.

En general, un servidor intermediari invers és un servidor intermediari intern que s'utilitza com a front-end per controlar i protegir l'accés als servidors de fons en una xarxa privada: normalment es desplega darrere del tallafoc de la xarxa.

Ajuda els servidors de fons a aconseguir l'anonimat per millorar la seva seguretat. En una infraestructura de TI, un servidor intermediari invers també pot funcionar com a tallafoc d'aplicacions, equilibrador de càrrega, terminador TLS, accelerador web (emmagatzemant en memòria cau contingut estàtic i dinàmic) i molt més.

En aquest article, revisarem els 8 principals servidors intermediaris inversos de codi obert que podeu utilitzar en un sistema Linux.

1. HAProxy

HAProxy (HAProxy, que significa High Availability Proxy), un programari de proxy i equilibrador de càrrega gratuït, de codi obert, molt ràpid, fiable i de primer nivell per a aplicacions basades en TCP i HTTP, dissenyat per a una alta disponibilitat.

HAProxy és un servidor intermediari invers HTTP, un servidor intermediari i normalitzador TCP, un terminador/iniciador/descarregador SSL/TLS, un servidor intermediari de memòria cau, un descarregador de compressió HTTP, un regulador de trànsit, un commutador basat en contingut, una passarel·la FastCGI i molt més. També és una protecció contra DDoS i l'abús del servei.

Està impulsat per un motor sense bloqueig basat en esdeveniments que combina una capa d'E/S molt ràpida amb un programador multiprocés basat en prioritats que li permet gestionar fàcilment desenes de milers de connexions simultànies. En particular, HAProxy utilitza el protocol PROXY per passar la informació de connexió del client als servidors de fons o d'origen perquè una aplicació obtingui tota la informació rellevant.

Algunes de les característiques bàsiques d'HAProxy inclouen el proxy, el suport SSL, la supervisió dels estats del servidor i el seu propi estat, alta disponibilitat, equilibri de càrrega, adherència (mantenir un visitant al mateix servidor fins i tot en diversos esdeveniments), canvi de contingut, reescriptura HTTP i redirecció. protecció del servidor, registre, estadístiques i molt més.

2. NGINX

NGINX, un servidor HTTP i un servidor intermediari invers gratuït, de codi obert, d'alt rendiment i molt popular. També funciona com a servidor intermediari IMAP/POP3. NGINX és conegut pel seu alt rendiment, estabilitat, ric conjunt de funcions, configuració senzilla i flexible i baix consum de recursos (especialment petita empremta de memòria).

Igual que HAProxy, NGINX té una arquitectura basada en esdeveniments, de manera que no té cap problema per tractar desenes de milers de connexions concurrents, ja que utilitza el protocol PROXY d'HAProxy.

NGINX admet el proxy invers accelerat amb memòria cau mitjançant el mòdul ngx_http_proxy_module , que permet passar sol·licituds a un altre servidor mitjançant protocols diferents d'HTTP, com ara FastCGI, uwsgi, SCGI i memcached.

És important destacar que admet l'equilibri de càrrega i la tolerància a errors, que són aspectes vitals dels sistemes informàtics distribuïts a gran escala. El mòdul ngx_http_upstream_module permet definir grups de servidors backend per distribuir les peticions procedents dels clients. Això fa que les vostres aplicacions siguin més robustes, disponibles i fiables, altament escalables, amb temps de resposta i rendiment. A més, pel que fa a la seguretat, admet la terminació SSL/TLS i moltes altres funcions de seguretat.

Articles útils sobre el servidor web Nginx que us agradaria llegir:

  • Com instal·lar el servidor web Nginx a Ubuntu 20.04
  • Com instal·lar Nginx a CentOS 8
  • Com activar la pàgina d'estat de NGINX

3. Vernís la memòria cau HTTP

Varnish HTTP Cache (o Varnish Cache o simplement Varnish) és un programari de servidor intermediari invers d'emmagatzematge a la memòria cau gratuït, de codi obert, d'alt rendiment i molt popular, més conegut com a accelerador d'aplicacions web, dissenyat per millorar el rendiment HTTP mitjançant la memòria cau del servidor.

Es desplega entre un client i un servidor web HTTP o un servidor d'aplicacions; cada vegada que un client sol·liciti informació o un recurs d'un servidor web, Varnish emmagatzema una còpia de la informació, de manera que la propera vegada que el client sol·liciti la mateixa informació, Varnish la servirà sense enviar una sol·licitud al servidor web reduint així la càrrega. al servidor i, al seu torn, accelera el lliurament de contingut web.

Varnish utilitza un llenguatge de configuració flexible conegut com el llenguatge de configuració de Varnish (VLC) que, entre altres coses, permet als administradors del sistema configurar com s'han de processar les sol·licituds entrants, quin contingut s'ha de servir i des d'on i com s'ha d'alterar la sol·licitud o resposta. , i molt més.

El vernís també és extensible: es pot estendre mitjançant els mòduls de vernís (VMOD) i els usuaris poden escriure els seus mòduls personalitzats o utilitzar els mòduls proporcionats per la comunitat.

La principal limitació de Varnish és la seva manca de suport per a SSL/TLS. L'única manera d'habilitar HTTPS és desplegar un terminador o descàrrega SSL/TLS com ara HAProxy o NGINX davant d'ell.

4. Træfɪk

Træfɪk (pronunciat Traffic) és un servidor intermediari inversor HTTP i un equilibrador de càrrega gratuït, de codi obert, modern i ràpid per desplegar microserveis que admeten diversos algorismes d'equilibri de càrrega. Pot interactuar amb diversos proveïdors (o mecanismes de descoberta de serveis o eines d'orquestració) com ara Kubernates, Docker, Etcd, Rest API, Mesos/Marathon, Swarm i Zookeper.

La seva característica adorable és la seva capacitat per gestionar la seva configuració de manera automàtica i dinàmica, descobrint així la configuració adequada per als seus serveis. Per fer-ho, escaneja la vostra infraestructura per trobar informació rellevant i descobreix quin servei dóna servei a les sol·licituds del món extern. Els proveïdors indiquen a Træfɪk on es troben les vostres aplicacions o microserveis.

Les altres funcions de Træfɪk són compatibles amb WebSockets, HTTP/2 i GRPC, i la recàrrega en calent (actualitza contínuament la seva configuració sense reinicis), HTTPS mitjançant certificats Let's Encrypt (suport de certificats comodís) i exposa una API REST. També conserva els registres d'accés i proporciona mètriques (Rest, Prometheus, Datadog, Statsd, InfluxDB).

A més, Træfɪk s'envia amb una interfície d'usuari web senzilla basada en HTML que s'utilitza per vigilar els esdeveniments. També admet interruptors de circuit, sol·licituds de reintent, limitació de velocitat i autenticació bàsica.

5. Servidor de trànsit Apache

Antigament un producte comercial propietat de Yahoo que més tard es va lliurar a la Fundació Apache, Apache Traffic Server és un servidor intermediari gratuït, de codi obert i ràpid de memòria cau.

Traffic Server també funciona com a equilibrador de càrrega i pot participar en jerarquies de memòria cau flexibles. Se sap que ha gestionat més de 400 TB diaris de trànsit a Yahoo.

Compta amb un conjunt de sol·licituds de manteniment, filtratge o anonimització de contingut, i és extensible mitjançant una API que permet als usuaris crear connectors personalitzats per modificar les capçaleres HTTP, gestionar sol·licituds ESI o dissenyar nous algorismes de memòria cau.

6. Servidor intermediari Squid

Squid és un servidor intermediari gratuït, de codi obert i conegut i un dimoni de memòria cau web que admet diversos protocols com HTTP, HTTPS, FTP i molt més. Compta amb un mode de servidor intermediari invers (httpd-accelerator) que guarda a la memòria cau les sol·licituds entrants de dades sortints.

Admet opcions d'optimització de trànsit riques, control d'accés, autorització, instal·lacions de registre i molt més.

7. Lliura

A Pound és un altre servidor intermediari i equilibrador de càrrega i interfície gratuït i de codi obert i lleuger per a servidors web. També és un terminador SSL (que desxifra les sol·licituds HTTPS dels clients i les envia com a HTTP normal als servidors de fons), un desinfectador HTTP/HTTPS (que verifica les sol·licituds de correcció i accepta només les ben formades) i un error. -al servidor.

8. Servidor HTTP Apache

Finalment, però no menys important, tenim un servidor HTTP Apache (també conegut com HTTPD), el servidor web més popular del món. També es pot desplegar i configurar per actuar com a servidor intermediari invers.

A més, també podeu pagar Skipper, el nou nen del bloc. És un encaminador HTTP gratuït i de codi obert i un servidor intermediari invers per a la composició del servei, inclosos casos d'ús com Kubernetes Ingress.

Això és tot el que teníem per a tu en aquesta guia. Per obtenir més informació sobre cada eina d'aquesta llista, consulteu els seus respectius llocs web. No oblidis compartir els teus pensaments amb nosaltres mitjançant el formulari de comentaris que hi ha a continuació.