HAProxy risponde con NOSRV mentre il backend è attivo


11

Ho una strana situazione in cui le richieste al mio HAProxy stanno tornando con un 503. I registri HAProxy mostrano che restituisce un errore 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 questo periodo, il server back-end è stato confermato e riceveva traffico da un bilanciamento del carico interno. Questa cosa è avvenuta spontaneamente senza alcuna configurazione o altri cambiamenti in HAProxy. Il riavvio di HAProxy ha risolto questo problema.

Qualcuno sa se questo è un problema noto? Grazie per il tuo aiuto / approfondimento.

Grazie.

La mia configurazione è simile alla seguente:

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

Sto avendo lo stesso problema. Sei stato in grado di risolvere questo problema o semplicemente riavviare il servizio ogni tanto?
Atifm,

sei riuscito a risolverlo? Stesso problema, anche con la risoluzione dinamica dell'host
Paulius Dragunas il

Mi dispiace gente. Sono passato da questo e non ho seguito per provare a risolvere.
Raj,

Risposte:


2

Ho notato dalla configurazione data che stai eseguendo davanti a un bilanciamento del carico ELB AWS v2e suppongo che v2epunti direttamente a un server di app (che altrimenti sarebbe dietro ELB)?

In tal caso, ciò mi suggerirà che, insieme all'errore 503, la connessione tra l'istanza HAProxy e ELB sta eseguendo un timeout, ovvero il contimeouttimeout di 4 secondi o il servertimeout di 300 secondi . Il più probabile è il 4 secondo contimeoute la sporadicità dell'errore conferma ulteriormente che è probabile che si tratti di un problema di rete tra HAProxy ed ELB.

contimeoutTenterei di aumentare il valore e di monitorare la latenza tra HAProxy ed ELB.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.