Migrando do balanceador de carga Nginx para o ZEVENET ADC

PUBLICADO EM 22 de novembro de 2022

Visão geral

O balanceamento de carga em várias instâncias de um aplicativo é uma ótima maneira de melhorar o desempenho reduzindo a sobrecarga e a latência e aumentando a entrega armazenando em cache os recursos estáticos.

Embora o Nginx sirva a um grande propósito no serviço web, a plataforma tem muitas complexidades. À medida que o tráfego aumenta, fica mais difícil balancear a carga do tráfego das camadas 4 e 7 sem sacrificar a segurança. Por esse motivo, você precisa de um balanceador de carga com recursos mais avançados que ofereçam controle sobre um aplicativo de negócios por meio de uma interface do usuário de fácil acesso.

Neste artigo, discutiremos como transferir as configurações do balanceador de carga Nginx para o ZEVENET ADC.

Pré-requisitos

Para seguir este guia, certifique-se de atender aos seguintes benchmarks.

  1. Uma instância do dispositivo ZEVENET deve ser instalada em sua estação de trabalho ou em uma plataforma de nuvem. Solicite uma avaliação se você ainda não tiver uma instância instalada.
  2. Você deve ter acesso ao painel da web. Se você não fizer isso, siga este rápido Guia de instalação.
  3. O Nginx é moleza para você, mas você não está satisfeito com seus recursos de balanceamento de carga. Então, você precisa da ZEVENET para intervir.
  4. Um servidor virtual é essencial para distribuir o tráfego para servidores de back-end. Se você ainda não criou um, siga este guia sobre criando um servidor virtual de camada 4 e camada 7 (Farm)

Conceitos básicos

rio acima: A diretiva upstream define um cluster de servidores que hospedam um aplicativo da web. Normalmente, upstream é definido dentro do contexto http. No ZEVENET ADC, o Serviços A seção contém uma subseção de back-end para gerenciar servidores host.

ouço: A opção listen define em qual porta o Nginx escutará o tráfego de entrada da web. ZEVENET usa um Porta virtual para ouvir o tráfego de entrada através de um Fazenda.

localização: O contexto de localização permite que você forneça instruções sobre os diretórios para recuperar dados de arquivos HTML.

proxy_pass: Esta diretiva é usada ao especificar a localização dos servidores proxy. Normalmente, o local é o valor atribuído à diretiva upstream. Um conceito semelhante no ZEVENET é um Fazenda. É aqui que você define um endereço IP e uma porta conectada a um serviço que contém servidores de back-end.

servidor: Esta diretiva especifica um servidor que hospeda um aplicativo usando seu endereço IP nos formatos ipv4 ou ipv6. O bloco do servidor é onde você define o localização diretiva, a ouvinte, e as incluir diretiva. Você pode definir um servidor no ZEVENET através do Backend seção.

ssl_ciphers e ssl_protocols: As diretivas ssl_ciphers e ssl_protocol são usadas ao limitar a conexão para as versões SSL/TLS mais fortes ou mais recentes. Alguns desses protocolos incluem TLSV1 e TLSV2. A cifra padrão com nginx é ALTO:!aNULO:!MD5. Para usar cifras e personalizar protocolos SSL no ZEVENET, você deve usar o ouvinte HTTPS. Acesse o Parâmetros HTTPS dentro das configurações globais dessa Fazenda.

Exemplos de configurações: Habilitando Sticky Sessions

A persistência de sessão, também conhecida como sticky sessions, é uma técnica usada no balanceamento de carga para garantir que as solicitações de um cliente sejam enviadas para o mesmo servidor em um cluster durante uma sessão. Isso geralmente é usado para manter o estado ou para garantir que os recursos, como arquivos ou dados, estejam disponíveis para o cliente durante a sessão. Existem várias maneiras de implementar a persistência de sessão, incluindo o uso de cookies ou afinidade de endereço IP. O método usado depende dos requisitos específicos do aplicativo e da arquitetura de balanceamento de carga.

Configurações do Nginx

O Nginx tem principalmente dois métodos para habilitar a persistência de sessão, ou seja, usando o hash_ip método de balanceamento de carga e o uso de biscoitos pegajosos.

Hash_ip: O método de balanceamento de carga hash_ip adquire os endereços IP de origem e destino e os utiliza para formar uma identidade exclusiva para uma conexão estabelecida.

upstream backendServers {
	hash_ip;
	server 192.168.0.112;
	server 192.168.0.115;
}

biscoito pegajoso: Você também pode usar cookies pegajosos definindo um biscoito pegajoso dentro do contexto upstream.

upstream backendServers {
	server 192.168.0.112;
	server 192.168.0.116;
	sticky cookie zensessionid expires=2h domain=.example.com path="/";
}

zensessionid identifica exclusivamente um cookie e seu servidor associado. A partir da configuração acima, o cookie expirar em 2 horas.

configurações ZEVENET

Para ativar a persistência de cookie ao usar o balanceador de carga ZEVENET:

  1. Acesse LSLB> Fazendas e clique no Editar Ícone em uma fazenda http.
  2. Navegue até a Serviços Aba.
  3. Role até chegar ao persistência seção.
  4. Para habilitar a persistência usando o endereço IP do Cliente, selecione persistência IP: cliente endereço.
  5. oracle_jd_edwards_load_balancing_farm

  6. Para habilitar a persistência de sessão usando um cookie, Ignore a etapa 4 e deixe o Persistência campo em Sem persistência.
  7. Alternar no inserção de biscoito botão e preencha o nome, domínio, caminho, e Tempo para Viver (TTL) em segundos.
  8. Atualize as configurações clicando no botão Aplicar botão.

Exemplo de configurações: criando regras de redirecionamento

As regras de redirecionamento são usadas para redirecionar automaticamente uma página da Web para outra página da Web. Isso geralmente é usado quando um site mudou sua estrutura ou conteúdo, ou quando uma página foi movida para um novo local. As regras de redirecionamento podem ser usadas para garantir que os usuários e os mecanismos de pesquisa sejam direcionados para a página correta e para evitar links quebrados. Existem vários tipos de redirecionamento que podem ser usados, incluindo redirecionamentos 301, redirecionamentos 302 e redirecionamentos de atualização meta. O tipo de redirecionamento usado depende das necessidades específicas do site e do motivo do redirecionamento.

Configurações do Nginx

Para criar uma regra de redirecionamento, declaramos uma diretiva de retorno dentro do servidor ou contextos de localização. A diretiva de retorno é usada quando você deseja redirecionar usuários de um URL para outro ou de um canal não seguro para um servidor seguro.
As regras de redirecionamento Nginx seguem a seguinte sintaxe.

return ( 301 | 302 | 303 | 307 ) redirect-url;

Aqui está um exemplo de configuração ao redirecionar usuários de um http não seguro para um local https seguro.

server {
# Redirect users to HTTPS
listen      80;
server_name test.zevenet.com www.test.zevenet.com;
return      301 https://www.test.zevenet.com$request_uri;
}

A $ request_uri A opção garante que todo o tráfego http no mesmo domínio seja redirecionado para o https seguro, mesmo que o caminho seja alterado.

configurações ZEVENET

Para obter um resultado semelhante com ZEVENET ADC.

  1. Certifique-se de ter duas fazendas em execução, ambas HTTP e https. Consulte este artigo sobre como criar farms de carga de camada 4 e camada
  2. Acesse LSLB >> Fazendas E clique no Editar ícone em uma fazenda https.
  3. Localize o Serviços guia e abra qualquer um dos serviços configurados para editá-los. Se não houver, clique no Novo serviço botão e crie um.
  4. Role até chegar ao Redirecionar seção e ative Ativar redirecionamento.
  5. oracle_jd_edwards_load_balancing_farm

  6. Selecione o tipo de redirecionamento Acrescentar, código de redirecionamento 301 e escreva o URL completo de onde redirecionar. Neste exemplo, vamos usar http://10.0.0.18
  7. Atualize as configurações clicando no botão Aplicar botão.

Veja também:

Exemplos de configurações: reescrever regras de cabeçalho

Os cabeçalhos HTTP são essenciais para hosts e clientes compartilharem informações adicionais além de solicitações de consulta. Esses cabeçalhos permitem que os clientes acessem recursos em seus idiomas preferidos e acessem páginas da Web otimizadas para seus dispositivos. Os servidores da Web podem usar essas informações para otimizar o tipo de informação para atender clientes usando cabeçalhos de cookies.

Infelizmente, o uso de muitos cabeçalhos de resposta pode revelar muitas informações confidenciais que os hackers podem usar para tentativas de exploração. Portanto, é essencial remover cabeçalhos não confiáveis ​​ou modificar algum conteúdo. Isso ajuda a evitar ataques mal-intencionados, como scripts entre sites, fornecendo Proteção X-XSS.

Configurações do Nginx

O Nginx fornece 2 diretivas para modificar e adicionar cabeçalhos. Esses incluem add_header e more_set_headers. Use esses cabeçalhos de localização dentro do bloco de localização.

Exemplo de configuração usando add_header em nginx.

location / {
	...
	add_header Server “serverName”;
	...
}

more_set_headers não é instalado nativamente no Nginx, portanto, os usuários geralmente instalam esse plug-in manualmente antes de compilar o nginx.

Exemplo de configuração usando more_set_headers.

location /{
        ...
	more_set_headers Server “serverName”;
        ...
}

configurações ZEVENET

  1. Primeiro, vá para LSLB>>Fazendas e selecione um HTTP fazenda cujas regras você gostaria de definir.
  2. Debaixo Global configurações, clique no botão Configurações avançadas aba.
  3. Dentro do Configurações avançadas, Selecione os permitir opção dentro do reescrever cabeçalhos de localização regra.
  4. oracle_jd_edwards_load_balancing_farm

  5. Atualize as configurações clicando no botão Aplicar botão.
  6. Role até a seção de cabeçalhos e clique no botão Criar regra botão.
  7. Dentro do Tipo opção suspensa, escolha uma que se adapte à sua aplicação. Neste exemplo, usaremos Resposta: adicionar cabeçalho.
  8. oracle_jd_edwards_load_balancing_farm

  9. Insira o cabeçalho cujo valor você deseja modificar. Para este exemplo, vamos alterar o valor de servidor cabeçalho.
  10. Salve as configurações clicando no botão Aplicar botão.
  11. Reiniciar o farm para que as configurações entrem em vigor.

Recursos adicionais

Usando o programa Let's encrypt para gerar automaticamente um certificado SSL.
Balanceamento de carga Datalink/Uplink Com ZEVENET ADC.
Balanceamento de carga DNS com ZEVENET ADC.
Proteção contra ataques DDoS.
Monitoramento de aplicativos, integridade e rede no ZEVENET ADC.
Configuração do firewall do aplicativo da Web.
Configurando certificados SSL para o balanceador de carga.

Compartilhar no:

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

Esse artigo foi útil?

Artigos Relacionados