Los 8 mejores servidores proxy inversos de código abierto para Linux

Los 8 mejores servidores proxy inversos de código abierto para Linux

Un servidor proxy inverso es un tipo de servidor proxy que se implementa entre clientes y servidores back-end/de origen, por ejemplo, un servidor HTTP. como NGINX. Apache. etc. o servidores de aplicaciones escritos en Nodejs. Python. Java. Ruby. PHP. y muchos otros lenguajes de programación.

Es una puerta de enlace o un servidor intermediario que toma la solicitud de un cliente y la pasa a uno o más servidores back-end. y, posteriormente, obtiene la respuesta del servidor y la devuelve al cliente, lo que hace que parezca que el contenido se originó en el propio servidor proxy inverso.

Lectura relacionada. Las 8 mejores Servidores web de código abierto

Por lo general, un servidor proxy inverso es un proxy interno que se utiliza como ‘ front-end. para controlar y proteger el acceso a servidores back-end en una red privada: normalmente se despliega detrás de la red firewall de trabajo.

Ayuda a los servidores back-end a lograr el anonimato para mejorar su seguridad. En una infraestructura de TI, un proxy inverso también puede funcionar como firewall de aplicaciones, balanceador de carga, terminador TLS, acelerador web (almacenando en caché contenido estático y dinámico) y mucho más.

En este artículo, lo haremos revise los 8 principales servidores proxy inversos de código abierto que puede usar en un sistema Linux.

1. HAProxy

freestar.config.enabled_slots.push

HAProxy ( HAProxy. que significa Alta disponibilidad Proxy., un equilibrador de carga y software de proxy gratuito, de código abierto, muy rápido, confiable y de primera categoría para aplicaciones basadas en TCP y HTTP, creado para una alta disponibilidad.

HAProxy. es un proxy inverso HTTP, un proxy y normalizador TCP, un terminador/iniciador/descargador SSL/TLS, un proxy de almacenamiento en caché, un descargador de compresión HTTP, un regulador de tráfico, un conmutador basado en contenido, un FastCGI gateway, y más. También es una protección contra DDoS y el abuso del servicio.

Está impulsado por un motor sin bloqueo impulsado por eventos que combina una capa de E/S muy rápida con un programador multiproceso basado en prioridades lo que le permite tratar fácilmente con decenas de miles de conexiones simultáneas. En particular, HAProxy. usa el protocolo PROXY. para pasar la información de conexión del cliente a los servidores de origen o backend para que una aplicación obtenga toda la información relevante.

Algunos de las características básicas de HAProxy incluyen proxy, soporte SSL, monitoreo de los estados del servidor y su propio estado, alta disponibilidad, equilibrio de carga, adherencia (mantener a un visitante en el mismo servidor incluso en varios eventos), cambio de contenido, reescritura HTTP y redirección, servidor protección, registro, estadísticas y mucho más.

Lectura relacionada. Cómo configurar HAProxy como Load Balancer para Nginx en CentOS 8

2. NGINX

NGINX, un servidor HTTP y proxy inverso gratuito, de código abierto, de alto rendimiento y muy popular. También funciona como un servidor proxy IMAP/POP3. NGINX. es bien conocido por su alto rendimiento, estabilidad, rico conjunto de funciones, configuración simple y flexible y bajo consumo de recursos (en particular, pequeña huella de memoria).

Al igual que HAProxy. NGINX. tiene una arquitectura basada en eventos, por lo que no tiene problemas para tratar con decenas de miles de conexiones simultáneas, ya que utiliza el protocolo PROXY de HAProxy.

NGINX. admite el proxy inverso acelerado con almacenamiento en caché utilizando el módulo ngx_http_proxy_module, que permite pasar solicitudes a otro servidor a través de protocolos que no sean HTTP, como FastCGI, uwsgi, SCGI y memcached.

Es importante destacar que admite el equilibrio de carga y la tolerancia a fallas, que son aspectos vitales de los sistemas informáticos distribuidos a gran escala. El módulo ngx_http_upstream_module. permite definir grupos de servidores backend para distribuir las solicitudes provenientes de los clientes. Esto hace que sus aplicaciones sean más robustas, disponibles y confiables, altamente escalables, con tiempo de respuesta y rendimiento. Además, con respecto a la seguridad, admite la terminación SSL/TLS y muchas otras funciones de seguridad.

Artículos útiles sobre el servidor web Nginx que le gustaría leer:

  • Cómo instalar Servidor web Nginx en Ubuntu 20.04
  • Cómo instalar Nginx en CentOS 8
  • Cómo habilitar la página de estado de NGINX

3. Varnish HTTP Cache

Varnish HTTP Cache (o Varnish Cache. o simplemente Varnish. es una aplicación gratuita, de código abierto, de alto rendimiento y muy popular almacenamiento en caché de software de proxy inverso, más conocido como acelerador de aplicaciones web, diseñado para mejorar el rendimiento HTTP mediante el almacenamiento en caché del lado del servidor.

Se implementa entre un cliente y un servidor web HTTP o un servidor de aplicaciones; Cada vez que un cliente solicita información o un recurso de un servidor web, Varnish almacena una copia de la información, por lo que la próxima vez que el cliente solicite la misma información, Varnish la atenderá sin enviar una solicitud al servidor web reduciendo así la carga. en el servidor y, a su vez, acelera la entrega de contenido web.

Varnish. utiliza un lenguaje de configuración flexible conocido como Idioma de configuración de Varnish. ( VLC. que, entre otras cosas, permite a los administradores del sistema configurar cómo se deben procesar las solicitudes entrantes, qué contenido se debe servir y desde dónde, y cómo se debe modificar la solicitud o respuesta, y mucho más.

El barniz también es extensible: se puede ampliar mediante módulos de barniz. ( VMOD. y los usuarios pueden escribir sus módulos personalizados o utilizar módulos proporcionados por la comunidad.

La principal limitación de Varnish. es su falta de compatibilidad con SS L/TLS. La única forma de habilitar HTTPS. es implementar un terminador o descargador SSL/TLS. como HAProxy. o NGINX. en frente a él.

4. Træfɪk

Træfɪk (que se pronuncia Traffic. es un equilibrador de carga y proxy inverso HTTP gratuito, de código abierto, moderno y rápido para implementar microservicios que admite múltiples algoritmos de equilibrio de carga. Puede interactuar con varios proveedores (o mecanismos de descubrimiento de servicios o herramientas de orquestación) como Kubernates. Docker. Etcd, Rest API, Mesos/Marathon, Swarm y Zookeper.

Su característica adorable es su capacidad para administrar su configuración de forma automática y dinámica, descubriendo así la configuración correcta para sus servicios. Lo hace escaneando su infraestructura para encontrar información relevante y descubre qué servicio atiende qué solicitud del mundo externo. Los proveedores le dicen a Træfɪk dónde se encuentran sus aplicaciones o microservicios.

Las otras funciones de Træfɪk son compatibles con WebSockets, HTTP/2 y GRPC, y recarga en caliente (actualiza continuamente su configuración sin reinicios), HTTPS usando Let’s Encrypt certificados (compatibilidad con certificados comodín) y expone una API REST. También mantiene registros de acceso y proporciona métricas (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Además, Træfɪk incluye una sencilla interfaz de usuario web basada en HTML que se utiliza para vigilar los eventos. También admite disyuntores, solicitudes de reintento, limitación de velocidad y autenticación básica.

5. Apache Traffic Server

Anteriormente un producto comercial propiedad de Yahoo. que luego fue entregado a la Apache Foundation. Apache Traffic Server es un fuente y servidor proxy inverso de almacenamiento en caché rápido.

Traffic Server también funciona como un equilibrador de carga y puede participar en jerarquías de caché flexibles. Se sabe que ha manejado más de 400 TB al día de tráfico en Yahoo.

Cuenta con un conjunto de solicitudes de mantenimiento, filtrado o anonimización de contenido, y es extensible a través de una API que permite a los usuarios cree complementos personalizados para modificar encabezados HTTP, manejar solicitudes ESI o diseñar nuevos algoritmos de caché.

6. Squid Proxy Server

Squid. es un servidor proxy gratuito, de código abierto y conocido y un demonio de caché web que admite varios protocolos como HTTP, HTTPS, FTP y más. . Cuenta con un modo de proxy inverso (httpd-accelerator) que almacena en caché las solicitudes entrantes de datos salientes.

Es compatible con ricas opciones de optimización de tráfico, control de acceso, autorización, funciones de registro y mucho más.

7. Pound

A Pound es otro proxy inverso ligero y gratuito y de código abierto y equilibrador de carga y front-end para servidores web. También es un terminador SSL (que descifra las solicitudes HTTPS de los clientes y las envía como HTTP simple a los servidores back-end), un desinfectante HTTP/HTTPS (que verifica las solicitudes de corrección y acepta solo las bien formadas) y un error-sobre el servidor.

8. Servidor HTTP Apache

Por último, pero no menos importante, tenemos un servidor HTTP Apache (también conocido como HTTPD., el servidor web más popular del mundo. También se puede implementar y configurar para que actúe como un proxy inverso.

Además, también puede pagar Skipper. el nuevo chico del barrio. Es un enrutador HTTP gratuito y de código abierto y un proxy inverso para la composición de servicios, incluidos casos de uso como Kubernetes Ingress.

Eso es todo lo que tenemos para ti en esta guía. Para obtener más información sobre cada herramienta en esta lista, consulte sus respectivos sitios web. No olvide compartir sus pensamientos con nosotros a través del formulario de comentarios a continuación.