HAProxy responde con NOSRV mientras el back-end está activo

11

Tengo una situación extraña en la que las solicitudes a mi HAProxy vuelven con un 503. Los registros de HAProxy muestran que devuelve un error NOSRV:

Mar 26 19:47:01 localhost haproxy[23910]: 10.0.0.30:34261 
  [26/Mar/2013:19:46:48.579] fe v2/<NOSRV> 12801/-1/-1/-1/12801 503 
  212 - - SC-- 0/0/0/0/0 0/0 "GET /path/v2/ HTTP/1.1"

Durante este tiempo, el servidor de fondo se confirmó y estaba recibiendo tráfico de un equilibrador de carga interno. Esto sucedió espontáneamente sin ninguna configuración u otros cambios en HAProxy. Reiniciar el HAProxy solucionó esto.

¿Alguien sabe si este es un problema conocido? Gracias por su ayuda / visión.

Gracias.

Mi configuración se ve así:

global
    maxconn     1000 # Total Max Connections. This is dependent on ulimit
    daemon
    nbproc      1 # Number of processing cores. Dual Dual-core Opteron is 4 cores for example.
    log         127.0.0.1 local1
defaults
        mode        http
        clitimeout  60000
        timeout server 300000
        contimeout  4000
        option      httpclose # Disable Keepalive

backend v2
        server v2Elb internal-xxx.us-west-1.elb.amazonaws.com:80 weight 1 maxconn 512 check
backend v2e
        server v2eElb 10.0.1.28:80 weight 1 maxconn 512 check
frontend fe
        bind :80
        option httpchk
        option forwardfor # This sets X-Forwarded-For
        option httplog
        log global
        acl v2e path_beg /path/v2e
        acl v2 path_beg /path/v2
        redirect location https://my.domain.com/path/v2/ if !v2e !v2
        use_backend v2e if v2e
        use_backend v2 if v2
Raj
fuente
Estoy teniendo el mismo problema. ¿Pudiste resolver esto o simplemente reiniciaste el servicio de vez en cuando?
Atifm
¿Fuiste capaz de resolver esto? Mismo problema, incluso con resolución dinámica de host
Paulius Dragunas
Lo siento amigos. Pasé de esto y no he seguido para tratar de resolver.
Raj

Respuestas:

2

¿De la configuración dada me doy cuenta de que se está ejecutando delante de un equilibrador de carga AWS ELB v2y supongo que eso v2eapunta directamente a un servidor de aplicaciones (que de lo contrario estaría detrás de ELB)?

Si es así, esto me sugerirá que, junto con el error 503, la conexión entre su instancia de HAProxy y ELB está llegando a un tiempo de espera, ya sea el contimeouttiempo de espera de 4 segundos o el servertiempo de espera de 300 segundos . El más probable es el de 4 segundos contimeouty la esporádicaidad del error confirma aún más que es probable que sea un problema de red entre HAProxy y ELB.

Intentaría aumentar el contimeoutvalor y monitorear la latencia entre HAProxy y ELB.

Jamescun
fuente