Configuração de balanceamento de carga Haproxy com base no URL

Configuração de balanceamento de carga Haproxy com base no URL

Até hoje eu estava usando as configurações básicas do Haproxy, hoje encontrei uma tarefa sobre a seleção do servidor de back -end da solicitação de URL. Enquanto trabalhava nessa tarefa, aprendi sobre o Haproxy ACLs.

Tarefa: Eu tenho o WordPress instalado como http: // domainname.com/blog . Este domínio está saindo de 2 servidor de back-end e equilibrado por Haproxy, a tarefa é redirecionar tudo /solicitação de blog apenas para servidor único.

Cenário de rede para esta configuração

  • Servidor Haproxy: 192.168.1.90
  • Web1: 192.168.1.103
  • Web2: 192.168.1.105
  • Domínio: Tecadmin.líquido

O exemplo abaixo inclui ACL para url_beg. url_beg corresponde à string usada no URL enviado. Usando o URL todas as solicitações começando com /blog (Tecadmin.net/blog) será redirecionado para Web2 (192.168.1.105) servidor. Todos os outros pedidos serão redirecionados para um dos dois servidores (Web1, Web2), dependendo do algoritmo de balanceamento de carga usado.

Aqui está um exemplo rápido de Usos URL_BEG ACL:

Log Global 127.0.0.1 Local0 Aviso MaxConn 50000 DAEMON Padrões Log Modo Global HTTP Option HTTPLOG Option DontLognull ContimeOut 120000 Clitimeout 120000 SRVTimeout 120000 Opção Avanço para o encaminhamento HTTP-SERVER Close # Configuração do site http http-in 192 http-close #.168.1.90:80 ACL is_blog url_beg /blog use_backend tecadmin_blog se is_blog default_backend tecadmin_website backend tecadmin_blog modo http balance redondrobin # balanceamento de carga algoritmo.168.1.105: 80 Peso 1 Maxconn 512 Verifique o back -end tecadmin_website modo http balance redondrobin # algoritmo de balanceamento de carga Opção httpchk opção para servidor web1 192.168.1.103: 80 Peso 1 Maxconn 512 Verifique o servidor Web2 192.168.1.105: 80 Peso 1 Maxconn 512 Verificação 

Espero que este tutorial o ajude a configurar algum ACL básico com Haproxy .Em relação às configurações completas de configuração disponíveis para o ACL estão listadas no documento de configuração do Haproxy,