8 Servidores proxy inverso de código abierto superior para Linux

8 Servidores proxy inverso de código abierto superior para Linux

Un servidor proxy inverso es un tipo de servidor proxy que se implementa entre los clientes y los servidores de back-end/origen, por ejemplo, un Http servidor como Nginx, apache, etc ... o servidores de aplicaciones escritos en Nodejs, Pitón, Java, Rubí, Php, y muchos otros lenguajes de programación.

Es una puerta de enlace o un servidor intermediario que toma una solicitud del cliente, la pasa a uno o más servidores de fondo y posteriormente obtiene la respuesta del servidor y la devuelve al cliente, lo que hace que parezca el contenido originado desde el servidor proxy inverso en sí.

Lectura relacionada: Los 8 mejores servidores web de código abierto

En general, un servidor proxy inverso es un proxy interno utilizado como A 'Interfaz'Para controlar y proteger el acceso a los servidores de back-end en una red privada: generalmente se implementa detrás del firewall de la red.

Ayuda a los servidores de back-end a lograr el anonimato para mejorar su seguridad. En una infraestructura de TI, un proxy inverso también puede funcionar como un firewall de aplicación, equilibrador de carga, TLS Terminator, Web Acelerator (al almacenar en caché del contenido estático y dinámico) y mucho más.

En este artículo, revisaremos los 8 servidores de proxy inverso de código abierto superiores que puede usar en un sistema Linux.

1. Haproxi

Haproxy (Haproxi, Lo que significa Proxy de alta disponibilidad), un balance de carga y software de proxy de código abierto, muy rápido, confiable y de primer nivel para aplicaciones basadas en TCP y HTTP, creadas para alta disponibilidad.

Haproxi 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 interruptor basado en contenido, una puerta de enlace FastCGI y más. También es una protección contra DDoS y abuso de servicio.

Está impulsado por un motor sin bloqueo impulsado por eventos que combina una capa de E/S muy rápida con un programador de subproceso múltiple basado en prioridad que le permite lidiar fácilmente con decenas de miles de conexiones concurrentes. Notablemente, Haproxi usa el APODERADO Protocolo para pasar la información de conexión del cliente a los servidores de backend o origen para que una aplicación obtenga toda la información relevante.

Algunas 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, pegajosidad (mantenga un visitante en el mismo servidor incluso en varios eventos), conmutación de contenido, reescritura HTTP y redirección, y redirección, Protección del servidor, registro, estadísticas y mucho más.

Lectura relacionada: Cómo configurar HaProxy como equilibrador de carga para Nginx en Centos 8

2. Nginx

Nginx, un servidor HTTP muy gratuito, de código abierto, de alto rendimiento y muy popular y proxy inverso. También funciona como un IMAP/POP3 servidor proxy. Nginx es bien conocido por su alto rendimiento, estabilidad, conjunto de características ricas, configuración simple y flexible y bajo consumo de recursos (particularmente una pequeña huella de memoria).

Al igual que Haproxi, Nginx tiene una arquitectura basada en eventos, por lo que no tiene problemas para tratar decenas de miles de conexiones concurrentes, ya que utiliza Proxy de Haproxy protocolo.

Nginx admite compatibilidad con el módulo de inversión inversa acelerada con el almacenamiento en caché utilizando el módulo NGX_HTP_PROXY_MODULE, que permite pasar solicitudes a otro servidor a través de protocolos distintos de 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 de computación distribuidos a gran escala. El ngx_http_upstream_module El módulo permite definir grupos de servidores de 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 características de seguridad.

Artículos útiles en Nginx Web Server que le gustaría leer:

  • Cómo instalar Nginx Web Server en Ubuntu 20.04
  • Cómo instalar Nginx en Centos 8
  • Cómo habilitar la página de estado de Nginx

3. Barniz http caché

Barniz http caché (o Caché de barniz o simplemente Barniz) es un software gratuito, de código abierto, de alto rendimiento y muy popular en caché de software de proxy inverso mejor conocido como acelerador de aplicaciones web, diseñado para mejorar el rendimiento de HTTP utilizando almacenamiento en caché del lado del servidor.

Se implementa entre un cliente y un servidor web HTTP o 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 lo servirá sin enviar una solicitud al servidor web, reduciendo así la carga en el servidor y, a su vez, acelerando la entrega de contenido web.

Barniz utiliza un lenguaje de configuración flexible conocido como el Lenguaje de configuración de barniz (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 alterar la solicitud o respuesta, y mucho más.

El barniz también es extensible: se puede extender usando Módulos de barniz (VMODS) y los usuarios pueden escribir sus módulos personalizados o usar módulos proporcionados por la comunidad.

La principal limitación de Barniz es su falta de apoyo para SSL/TLS. La única forma de habilitar Https es implementar un SSL/TLS Terminator o descargador como Haproxi o Nginx en frente de eso.

4. Træfɪk

Træfɪk (pronunciado Tráfico) es un proxy inverso y de carga HTTP gratuito, de código abierto, moderno y rápido para implementar micro-servicios 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 Kubernatos, Estibador, ETCD, API REST, Mesos/Maratón, 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. Hace esto escaneando su infraestructura para encontrar información relevante y descubre qué servicio sirve qué solicitud del mundo externo. Los proveedores le dicen a TRæfɪk dónde se encuentran sus aplicaciones o micro-servicios.

Las otras características de TRæfɪk son compatibles con WebSockets, HTTP/2 y GRPC, y la recarga en caliente (actualiza continuamente su configuración sin reinicios), HTTPS utilizando certificados Let's Cicrypt (soporte de certificados comodines), y expone una API REST REST. También mantiene registros de acceso, y proporciona métricas (descanso, Prometheus, Datadog, STATSD, InfluxDB).

Además, TRæfɪk se envía con una simple interfaz de usuario web basada en HTML utilizada para vigilar los eventos. También admite disyuntores, reintentos de reintento, limitación de tarifas y autenticación básica.

5. Servidor de tráfico de Apache

Anteriormente un producto comercial propiedad de Yahoo que luego fue entregado al Fundación Apache, El servidor de tráfico de Apache es un servidor gratuito, de código abierto y rápido en caché hacia adelante y el servidor de proxy inverso.

El servidor de tráfico 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 por día de tráfico en Yahoo.

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

6. Servidor proxy de calamar

Calamar es un servidor proxy gratuito, de código abierto y conocido, 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.

Admite opciones de optimización de tráfico ricas, control de acceso, autorización, instalaciones de registro y mucho más.

7. Libra

Una libra es otra de origen libre y equilibrador de carga de código abierto y de código abierto para servidores web para servidores web. También es un terminador SSL (que descifra las solicitudes HTTPS de los clientes y las envía como HTTP simples a los servidores de fondo), un desinfectante HTTP/HTTPS (que verifica las solicitudes de corrección y aceptación solo de los bien formados), y un fallido -ver servidor.

8. Servidor apache http

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

Además, también puede pagar Patrón, El nuevo niño en el bloque. Es un enrutador HTTP gratuito y de código abierto y proxy inverso para la composición del servicio, incluidos casos de uso como Kubernetes Ingress.

Eso es todo lo que tuvimos 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.