Pesquisa de site

Os 10 melhores servidores proxy reverso de código aberto para Linux


Um servidor proxy reverso é um tipo de servidor proxy implantado entre clientes e servidores de back-end/origem, por exemplo, um servidor HTTP como NGINX, Apache, etc. ou servidores de aplicativos escritos em Nodejs, Python, Java, Ruby, PHP e muitas outras linguagens de programação.

É um gateway ou servidor intermediário que recebe uma solicitação do cliente, a repassa para um ou mais servidores back-end e, posteriormente, busca a resposta do servidor e a entrega de volta ao cliente, fazendo com que pareça que o conteúdo originado do próprio servidor proxy reverso.

Geralmente, um servidor proxy reverso é um proxy interno usado como um 'front-end' para controlar e proteger o acesso a servidores back-end em uma rede privada: normalmente é implantado atrás do firewall da rede .

Ajuda os servidores back-end a alcançar o anonimato para aumentar sua segurança. Na infraestrutura de TI, um proxy reverso também pode funcionar como firewall de aplicativo, balanceador de carga, terminador TLS, acelerador da web (armazenando em cache conteúdo estático e dinâmico) e muito mais.

Neste artigo, revisaremos os 10 principais servidores proxy reverso de código aberto que você pode usar em um sistema Linux.

1. HAProxy – (balanceador de carga TCP/HTTP)

HAProxy (HAProxy, que significa High Availability Proxy), é um software de proxy e balanceador de carga gratuito, de código aberto, muito rápido, confiável e de primeira linha para TCP. e aplicativos baseados em HTTP, desenvolvidos para alta disponibilidade.

HAProxy é um proxy reverso HTTP, um proxy e normalizador TCP, um terminador/iniciador/offloader SSL/TLS, um proxy de cache, um offloader de compactação HTTP, um regulador de tráfego, um switch baseado em conteúdo, um Gateway FastCGI e muito mais. É também uma proteção contra DDoS e abuso de serviço.

Ele é alimentado por um mecanismo sem bloqueio orientado a eventos que combina uma camada de E/S muito rápida com um agendador multithread baseado em prioridade que permite lidar facilmente com dezenas de milhares de conexões simultâneas.

Notavelmente, HAProxy usa o protocolo PROXY para passar as informações de conexão do cliente para o backend ou servidores de origem para que um aplicativo obtenha todas as informações relevantes.

Alguns dos recursos básicos do HAProxy incluem proxy, suporte SSL, monitoramento dos estados do servidor e de seu estado, alta disponibilidade, balanceamento de carga, aderência (manter um visitante no mesmo servidor mesmo em vários eventos), troca de conteúdo, reescrita e redirecionamento de HTTP, servidor proteção, registro, estatísticas e muito mais.

2. NGINX – (servidor Web HTTP e proxy reverso)

NGINX é um servidor HTTP e proxy reverso gratuito, de código aberto, de alto desempenho e muito popular. Ele também funciona como um servidor proxy IMAP/POP3. O NGINX é conhecido por seu alto desempenho, estabilidade, rico conjunto de recursos, configuração simples e flexível e baixo consumo de recursos (particularmente pequeno consumo de memória).

Assim como o HAProxy, o NGINX possui uma arquitetura orientada a eventos, portanto não tem problemas em lidar com dezenas de milhares de conexões simultâneas, pois usa o PROXY do HAProxy protocolo.

NGINX suporta proxy reverso acelerado com cache usando o módulo ngx_http_proxy_module, que permite passar solicitações para outro servidor por meio de protocolos diferentes de HTTP, como FastCGI, uwsgi, SCGI e Memcached.

É importante ressaltar que ele suporta balanceamento de carga e tolerância a falhas, aspectos vitais de sistemas de computação distribuídos em larga escala. O módulo ngx_http_upstream_module permite definir grupos de servidores backend para distribuir as solicitações provenientes dos clientes.

Isso torna suas aplicações mais robustas, disponíveis e confiáveis, altamente escaláveis, com tempo de resposta e rendimento. Além disso, no que diz respeito à segurança, suporta terminação SSL/TLS e muitos outros recursos de segurança.

Artigos úteis sobre o servidor web Nginx que você pode gostar de ler:

3. Verniz – (proxy de cache reverso)

Varnish HTTP Cache (ou Varnish Cache ou simplesmente Varnish) é um software de proxy reverso de cache gratuito, de código aberto, de alto desempenho e muito popular, mais conhecido como web acelerador de aplicativos, projetado para melhorar o desempenho HTTP usando cache do lado do servidor.

Ele é implantado entre um cliente e um servidor web HTTP ou servidor de aplicativos; toda vez que um cliente solicita uma informação ou um recurso de um servidor web, o Varnish armazena uma cópia das informações, então na próxima vez que o cliente solicitar a mesma informação, o Varnish irá atendê-la sem enviar uma solicitação ao servidor web, reduzindo assim a carga no servidor e, por sua vez, acelerando a entrega de conteúdo da web.

O Varnish usa uma linguagem de configuração flexível conhecida como Varnish Configuration Language (VLC) que, entre outras coisas, permite que os administradores de sistema configurem como as solicitações recebidas devem ser processado, qual conteúdo deve ser veiculado e de onde e como a solicitação ou resposta deve ser alterada e muito mais.

O verniz também é extensível – pode ser estendido usando Varnish Modules (VMODs) e os usuários podem escrever seus módulos personalizados ou usar módulos fornecidos pela comunidade.

A principal limitação do Varnish é a falta de suporte para SSL/TLS. A única maneira de ativar HTTPS é implantar um terminador ou descarregador SSL/TLS, como HAProxy ou NGINX em frente dele.

4. Træfɪk – (o proxy de aplicativo nativo da nuvem)

Træfɪk (pronuncia-se Traffic) é um proxy reverso HTTP gratuito, de código aberto, moderno e rápido e balanceador de carga para implantação de microsserviços que suportam vários algoritmos de balanceamento de carga.

Ele pode interagir com vários provedores (ou mecanismos de descoberta de serviços ou ferramentas de orquestração), como Kubernetes, Docker, Etcd, Rest API, Mesos/Marathon, Swarm e Zookeper.

Sua característica adorável é a capacidade de gerenciar sua configuração de forma automática e dinâmica, descobrindo assim a configuração certa para seus serviços. Ele faz isso examinando sua infraestrutura para encontrar informações relevantes e descobrir qual serviço atende a qual solicitação do mundo externo. Os provedores informam ao Træfɪk onde seus aplicativos ou microsserviços estão localizados.

Os outros recursos do Træfɪk são suportados para WebSockets, HTTP/2 e GRPC, recarregamento a quente (atualiza continuamente sua configuração sem reinicializações), HTTPS usando certificados Let’s Encrypt (suporte a certificados curinga) e expõe uma API REST. Ele também mantém logs de acesso e fornece métricas (Rest, Prometheus, Datadog, Statsd, InfluxDB).

Além disso, o Træfɪk vem com uma interface de usuário web simples baseada em HTML, usada para ficar de olho nos eventos. Ele também oferece suporte a disjuntores, solicitações de novas tentativas, limitação de taxa e autenticação básica.

5. Servidor de tráfego Apache – (servidor proxy reverso e direto)

Anteriormente um produto comercial de propriedade do Yahoo, que mais tarde foi entregue à Apache Foundation, o Apache Traffic Server é um proxy de cache direto e reverso gratuito, de código aberto e rápido. servidor.

O Traffic Server também funciona como balanceador de carga e pode participar de hierarquias de cache flexíveis. Sabe-se que ele administrou mais de 400 TB de tráfego por dia no Yahoo.

Ele apresenta um conjunto de solicitações de manutenção de atividade, filtragem ou anonimato de conteúdo e é extensível por meio de uma API que permite aos usuários criar plug-ins personalizados para modificar cabeçalhos HTTP, lidar com solicitações ESI ou projetar novos algoritmos de cache.

6. Squid – (cache e encaminhamento de proxy HTTP)

Squid é um servidor proxy e daemon de cache da Web gratuito, de código aberto e bem conhecido que oferece suporte a vários protocolos, como HTTP, HTTPS, FTP e muito mais. Ele apresenta um modo de proxy reverso (acelerador httpd) que armazena em cache as solicitações recebidas para dados de saída.

Ele oferece suporte a opções avançadas de otimização de tráfego, controle de acesso, autorização, recursos de registro e muito mais.

7. Libra – (proxy reverso e balanceador de carga)

A Pound é outro proxy reverso leve, gratuito e de código aberto, balanceador de carga e front-end para servidores web. É também um terminador SSL (que descriptografa solicitações HTTPS de clientes e as envia como HTTP simples para os servidores back-end).

Um sanitizador HTTP/HTTPS (que verifica a correção das solicitações e aceita apenas as bem formadas) e um servidor de failover.

8. Apache – (servidor web HTTP)

O servidor Apache HTTP (também conhecido como HTTPD), o servidor web mais popular do mundo, também pode ser implantado e configurado para atuar como proxy reverso.

O Apache é excelente no roteamento de solicitações de clientes para servidores back-end, melhorando a segurança, o balanceamento de carga e otimizando o desempenho de aplicativos da web. Ao atuar como intermediário, o Apache pode distribuir com eficiência o tráfego de entrada para várias instâncias de servidor, garantindo alta disponibilidade e experiências de usuário perfeitas.

Suas opções de configuração robustas e personalizáveis o tornam a melhor escolha para organizações que buscam uma solução confiável para necessidades de proxy reverso, seja para armazenamento em cache de conteúdo ou entrega de aplicativos.

9. Skipper – (roteador HTTP e proxy reverso)

Skipper é um roteador HTTP e proxy reverso gratuito e de código aberto para composição de serviços, incluindo casos de uso como Kubernetes Ingress.

Ele foi desenvolvido para gerenciar um número substancial de definições de rotas HTTP configuradas dinamicamente, ultrapassando 800.000 rotas, apresentando condições de pesquisa complexas e oferecendo flexibilidade para aprimorar o fluxo de solicitações com filtros.

Ele pode ser prontamente implantado como está ou pode ser estendido incorporando pesquisa personalizada, lógica de filtro e fontes de configuração.

10 Caddy 2 – Servidor rápido com HTTPS automático

Caddy 2 é um servidor web de código aberto e proxy reverso conhecido por sua simplicidade e versatilidade, que oferece uma interface amigável e HTTPS automático por padrão, tornando-o uma escolha acessível tanto para iniciantes quanto para usuários experientes.

O Caddy 2 foi projetado para lidar facilmente com hospedagem na web, HTTP/2, balanceamento de carga e proxy, melhorando o desempenho e a segurança do site. Sua natureza de código aberto incentiva contribuições da comunidade e ganhou popularidade por sua facilidade de uso e recursos modernos no mundo da hospedagem na web e gerenciamento de servidores.

Conclusão

Isso é tudo que tínhamos para você neste guia. Para obter mais informações sobre cada ferramenta desta lista, verifique seus respectivos sites. Não se esqueça de compartilhar suas idéias conosco através do formulário de feedback abaixo.