Balanceamento de carga e alta disponibilidade de serviços de proxy de navegação na web

POSTADO POR Zevenet | 2 de março de 2021

Intro

A servidor proxy pode ser descrito como um servidor appliance ou aplicação que faz a intermediação de requisições de clientes ou clientes que buscam recursos de vários servidores que os fornecem. Isso explicado, significa que um servidor proxy trabalha em nome do cliente ou cliente quando o serviço é solicitado, e pode potencialmente esconder a origem real ou fonte da solicitação para o servidor.

O processo é que o cliente faz a solicitação diretamente ao servidor proxy, em vez de se conectar apenas a um servidor concreto que pode fornecer um recurso solicitado, como arquivos ou webs, e então o servidor proxy avalia essa solicitação e desenvolve a rede apropriada e necessária transações. Essa é uma forma de tornar mais simples ou controlada a complexidade da solicitação e, além disso, oferece outros benefícios como segurança, aceleração de conteúdo ou privacidade. Os proxies são concebidos para encapsular e estruturar os sistemas distribuídos existentes. Alguns dos proxies de navegação na web mais usados ​​são Lula, Privoxyou SwiperProxy.

Às vezes, um servidor proxy não é suficiente para gerenciar o número de usuários simultâneos ou o próprio proxy é um ponto unico de falha que precisa ser resolvido, então é quando um ADC é totalmente necessário.

O artigo a seguir descreve uma maneira de criar alta disponibilidade e escalabilidade para um serviço de proxy de navegação, caso um dos servidores Proxy falhe, o balanceador de carga, implementado com o ZEVENET Application Delivery Controller, detectará a falha e o proxy será desabilitado do pool disponível, além disso, o cliente será redirecionado para outro proxy de navegação disponível sem afetar as conexões de tráfego.

Arquitetura de rede proxy

Com a ideia de fazer o leitor entender melhor a configuração, queremos chegar ao seguinte diagrama que descreve a arquitetura.

Balanceador de carga de cluster proxy zevenet

Diferentes clientes (laptops, computadores, celulares e tablets) configuram o navegador de navegação apontando para o proxy corporativo, por exemplo https://proxy.company.com:3128. Todas as conexões dos clientes para o proxy de navegação na web em plano HTTP or SSL será TCP baseado, então ele será usado para construir nosso farm de balanceamento de carga.

A resolução de IP para proxy.company.com é um IP virtual já configurado no balanceador de carga. No controlador de entrega de aplicativos ZEVENET, há um farm sobre esse IP virtual, por exemplo 192.168.103.34 e porta virtual 3128 in NAT modo para TCP protocolo.

O farm é configurado com todos os back-ends que constroem o pool de proxy de navegação, em nosso exemplo 192.168.103.253 e 192.168.103.254 via porta TCP 3128. Assim que o cliente tentar se conectar ao proxy configurado, o ADC receberá a conexão e será redirecionado para um dos proxies de navegação disponíveis no pool que compartilha os usuários entre todos os servidores proxy backend disponíveis.

Configuração de alta disponibilidade do proxy de navegação na web

A seção a seguir descreve o procedimento de configuração para criar uma configuração apropriada para proxies de navegação de equilíbrio de carga no balanceador de carga ZEVENET.

Verificação de integridade do proxy de navegação na web

Em primeiro lugar, crie uma verificação de integridade para ser usada no farm de balanceamento de carga que criaremos nas linhas a seguir. O objetivo desta nova verificação de integridade é verificar se a porta TCP nos proxies de back-end está habilitada.

Vá para a seção MONITORAMENTO> Guardião da fazenda, crie um novo guardião da fazenda com o nome check_tcp_navigation_proxy e copiar de check_tcp e fazer algumas pequenas alterações nos tempos limite, conforme mostrado abaixo:

Na série Command campo adicionar a bandeira -t 5, este é o tempo limite por back-end para responder à conexão TCP do balanceador de carga. O Intervalo campo é configurado com um valor de 11 segundos por backend + 5 segundo adicional para evitar recursão. Recomendamos usar a seguinte fórmula para definir a melhor Intervalo valor.

(number of backends * timeout seconds per backend (-t) ) + 1

Serviço virtual de proxy de navegação na web

Em seguida, crie um LSLB> L4xNAT fazenda, por exemplo, com o nome Navigation_proxy, Incluindo o IP virtual e Porta virtual conforme indicado no diagrama anterior. Depois de criado, vá para editar em Avançado modo e garantir que Tipo de Protocolo está configurado em TCP e Tipo de NAT está configurado em NAT modo.

Para configurar o comportamento do serviço virtual, vá para a guia Serviços e configurar o algoritmo de balanceamento de carga em Peso (por padrão). Adapte este valor ao mais apropriado para seu ambiente e comportamento desejado.

Então, na mesma seção, vá para a tabela Backends e adicionar os servidores proxy de navegação na web reais que gerenciarão as conexões do usuário.

Por fim, selecione a verificação de saúde já criada na etapa anterior chamada check_tcp_navigation_proxy a fim de verificar se o TCP a porta de back-end já está aberta.

Agora, o serviço virtual com balanceamento de carga pode ser testado antes de configurar os clientes.

Configuração de clientes

A última etapa é definir as configurações de proxy no navegador da web do cliente apontando para o IP virtual e Porta virtual usado no balanceador de carga, ou introduzir o IP virtual na cooperativa DNS e usar um Nome em vez dos clientes, em nosso exemplo proxy.example.com é apontado para o IP Virtual 192.168.103.34).

Finalmente, aproveite seu proxy de navegação na web com balanceamento de carga e alta disponibilidade!

Compartilhar no:

Documentação sob os termos da Licença de Documentação Livre GNU.

Esse artigo foi útil?

Artigos Relacionados