HAproxy congelar / travar / parar de aceitar legendas

1

Eu vi postagens semelhantes para o meu problema, mas nenhuma delas parece ser relevante para o meu caso. Eu tive meu HAproxy configurado para os últimos 3 meses aproximadamente o mesmo e não encontrei nenhum problema. O servidor era protegido por dois firewalls e era impedido de acessar pela internet (FW configurado para permitir acesso http / s do meu IP do HQ). Na semana passada eu abri para o mundo, fiz muitos testes de estresse e tudo parecia ok. Umas duas horas APÓS meus testes terem sido feitos, meu servidor de front-end não respondeu, nem mesmo a página de estatísticas pôde ser carregada.

A verificação do meu sistema de monitoramento não mostrou alta CPU, RAM ou largura de banda. Embora a página de estatísticas não carregasse, monitorei a página de estatísticas de um sistema de monitor SNMP e vi que o máximo de conexões simultâneas para todo o servidor HAproxy era ~ 700, nem mesmo perto do maxconn global 10000 (fullconn é 10000 também).

Reiniciar o serviço HAproxy resolveu o problema temporariamente, pois o problema ressurgiu algumas horas depois.

Eu atualmente tenho o HAproxy 1.5.3 instalado e embora eu tenha lido o link Não tenho certeza se esse problema foi resolvido em versões posteriores.

Qualquer assistência com esse problema será mais do que bem-vinda.

Aqui está minha configuração:

global
log             127.0.0.1       local0
   chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     10000
    user        haproxy
    group       haproxy
    daemon
    tune.ssl.default-dh-param 2048

stats socket /etc/haproxy/haproxysock level admin
stats socket /var/run/haproxy.stat mode 666

#---------------------------------------------------------------------
Defaults
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         5s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 10000

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main
bind *:80
bind site1.app.company.com:443 ssl crt /etc/haproxy/ssl/app/apppublic.pem no-sslv3
bind site2.company.com:443 ssl crt /etc/haproxy/ssl/public.pem no-sslv3
bind site3.company.net:443 ssl crt /etc/haproxy/ssl/net.pem no-sslv3
redirect scheme https code 301 if !{ ssl_fc }

        acl rule1  hdr_dom(host) -i site1.app.company.com
        use_backend site1 if rule1
    acl rule2  hdr_dom(host) -i site2.company.com
    use_backend site2 if rule2
    acl rule3  hdr_dom(host) -i site3.company.net
    use_backend site3 if rule3

    default_backend             site1

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend site1
mode http
    fullconn                 10000
    balance     roundrobin
option httpclose
option forwardfor
cookie SERVERID insert indirect nocache
    server  Server1   1.1.1.1:443 cookie A check ssl verify none
    server  Server2   2.2.2.1:443 cookie B check ssl verify none

backend wwwsest
mode http
    fullconn                 10000
    balance     roundrobin
option httpclose
option forwardfor
cookie SERVERID insert indirect nocache
http-request add-header X-Forwarded-Proto https if { ssl_fc }
http-request set-header X-Forwarded-Port %[dst_port]
    server  Server1   1.1.1.2:443 cookie A check ssl verify none inter 3000 fall 2 rise 2
    server  Server2   2.2.2.2:443 cookie B check ssl verify none inter 3000 fall 2 rise 2

backend internalst
mode http
    fullconn                 10000
    balance     roundrobin
option httpclose
option forwardfor
cookie SERVERID insert indirect nocache
http-request add-header X-Forwarded-Proto https if { ssl_fc }
http-request set-header X-Forwarded-Port %[dst_port]
    server Server1   10.0.0.1:443 cookie A check ssl verify none inter 3000 fall 2 rise 2
    server Server2   10.0.0.2:443 cookie B check ssl verify none inter 3000 fall 2 rise 2

#Statistics server:
listen stats *:1936
bind *:1936 ssl crt /etc/haproxy/ssl/app/apppublic.pem
    stats enable
    stats uri /
    stats hide-version
    stats refresh 30s
    stats auth admin:********     
    
por Yuval 24.01.2015 / 21:08

0 respostas

Tags