2013-09-04 30 views
5

Ho Ubuntu 12.04LTS in esecuzione. Il mio server web è Tomcat 7.0.42 e io uso HAProxy come server proxy. La mia applicazione è un'applicazione servlet che utilizza websocket.502 Gateway difettoso HAproxy

A volte quando richiedo la mia pagina ottengo l'errore "502 Bad Gateway" su alcune risorse non su tutte, ma su alcune. Penso che questo abbia qualcosa a che fare con la mia configurazione HAProxy, che è il seguente:

global 
    maxconn  4096 # Total Max Connections. This is dependent on ulimit 
    nbproc  1 

defaults 
    mode  http 
    option http-server-close 
    option httpclose 
# option redispatch 
    no option checkcache # test against 502 error 

frontend all 0.0.0.0:80 
    timeout client 86400000 
    default_backend www_backend 
    acl is_websocket hdr(Upgrade) -i WebSocket 
    acl is_websocket hdr_beg(Host) -i ws 

    use_backend socket_backend if is_websocket 

    backend www_backend 
     balance roundrobin 
     option forwardfor # This sets X-Forwarded-For 
     timeout server 30000 
     timeout connect 4000 
     server apiserver localhost:8080 weight 1 maxconn 1024 check 

    backend socket_backend 
     balance roundrobin 
     option forwardfor # This sets X-Forwarded-For 
     timeout queue 5000 
     timeout server 86400000 
     timeout connect 86400000 
     server apiserver localhost:8080 weight 1 maxconn 1024 check 

Cosa devo cambiare per impedire l'errore 502?

risposta

2

Innanzitutto, abilitare la registrazione di haproxy. Vi dirà semplicemente perché sta dando il 502. La mia ipotesi è che il backend "localhost: 8080" semplicemente non sia in grado di tenere il passo o non sia in grado di ottenere una connessione entro 4000ms "timeout connect 4000".

1

È possibile che alcuni limiti predefiniti in HAProxy siano stati superati. Prova ad aggiungere quanto segue alla sezione globale:

tune.maxrewrite 4096 
tune.http.maxhdr 202 
+0

Potresti approfondire il motivo per cui i cambiamenti di configurazione suggeriti risolvono il problema dell'OP? – Castaglia

+0

Si prega di aggiungere ulteriori dettagli alla risposta. La risposta può essere cancellata nel modulo attuale. – Jayan

Problemi correlati