linux – 502 Bad Gateway HAproxy

我有Ubuntu 12.04LTS在运行.我的网络服务器是Tomcat 7.0.42,我使用HAProxy作为代理服务器.我的应用程序是一个使用websockets的servlet应用程序.

有时当我请求我的页面时,我会在某些资源上出现“502 Bad Gateway”错误,而不是一些资源.我认为这与我的HAProxy配置有关,如下所示:

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

我需要更改什么来防止502错误?

最佳答案
首先,启用haproxy日志记录.它只会告诉你为什么它会给502.我的猜测是后端“localhost:8080”根本无法跟上或无法在4000ms“超时连接4000”内获得连接.

转载注明原文:linux – 502 Bad Gateway HAproxy - 代码日志