J'ai une situation étrange où les demandes à mon HAProxy retournent avec un 503. Les journaux HAProxy montrent qu'il retourne une erreur 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"
Pendant ce temps, le serveur principal a été confirmé et recevait du trafic d'un équilibreur de charge interne. Cette chose s'est produite spontanément sans aucune configuration ou autres changements dans HAProxy. Le redémarrage de HAProxy a corrigé ce problème.
Est-ce que quelqu'un sait s'il s'agit d'un problème connu? Merci pour votre aide / perspicacité.
Merci.
Ma configuration ressemble à ceci:
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
Réponses:
Je remarque à partir de la configuration donnée que vous exécutez en face d'un équilibreur de charge AWS ELB
v2
et je suppose que celav2e
pointe directement vers un serveur d'application (qui serait autrement derrière ELB)?Si c'est le cas, cela me suggérera que, avec l'erreur 503, la connexion entre votre instance HAProxy et ELB atteint un délai d'expiration, soit le
contimeout
délai d'expiration de 4 secondes ou leserver
délai d'expiration de 300 secondes . La plus probable est la 4 secondecontimeout
et la sporadicité de l'erreur confirme en outre qu'il s'agit probablement d'un problème de réseau entre HAProxy et ELB.J'essaierais d'augmenter la
contimeout
valeur ainsi que de surveiller la latence entre HAProxy et ELB.la source