HAProxy不将请求转发到后端服务器

时间:2015-12-08 12:19:16

标签: haproxy

我将HAProxy(v1.5.8)作为带有keepalived(v1.2.2)的负载均衡器来维持高可用性。我在本地网络上的另一台机器上也有几台Jetty服务器作为带有webapp的后端服务器。

我遇到的问题是:我可以通过IP(下面的代码中的z.z.z.z)访问Web应用程序,但是当我尝试通过VIP访问(y.y.y.y在下面的代码中)时,我收到连接拒绝错误。我没有任何iptables规则集(Debian 7)。

我的haproxy.cfg文件就是这个:

global
    log 127.0.0.1 local0
    log 127.0.0.1 local1 notice
    chroot /var/lib/haproxy
    #stats socket /run/haproxy/admin.sock mode 660 level admin
    #stats timeout 30s
    maxconn 4096
    user haproxy
    group haproxy

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    retries 3
    option redispatch
    maxconn 2000
    timeout connect 5000
    timeout client  50000
    timeout server  50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

listen stats x.x.x.x:9000
    mode http
    balance
    option httplog
    timeout client 5000
    timeout connect 4000
    timeout server 30000
    stats uri /haproxy_stats
    stats realm HAProxy/Statistics
    stats auth user:passwd
    stats admin if TRUE

listen webfarm y.y.y.y:8080
   mode http
   stats enable
   stats auth someuser:somepassword
   balance roundrobin
   cookie JSESSIONID prefix
   option httpclose
   option forwardfor
   option httpchk HEAD /check.txt HTTP/1.0
    server webA z.z.z.z:9400 check

在keepalived conf文件中,我定义了我将使用的VIP(与haproxy.cfg中定义的相同:

 virtual_ipaddress {
            y.y.y.y
 }

在统计网站中,我得到了下一个结果:

HAProxy Stats

在此之后,我认为haproxy无法进入后端,因为它们显示为前端服务器。我在conf文件中遗漏了什么?

谢谢

2 个答案:

答案 0 :(得分:0)

不,'前端'和'后端'是摘要行而不是标题。服务器在两者之​​间是正常的。

您的后端已关闭,因为它正在向404返回haproxy。您需要使/check.txt返回有效的响应。

答案 1 :(得分:0)

我建议您仅禁用检查,直到您对HAProxy整体感到更满意为止。 ID还建议您打开“统计信息”页面,这将使您更好地可视化HAProxy看到的内容。见下文:

    ###########################################
    #
    # HAProxy Stats page
    #
    ###########################################

    listen stats
      bind *:9090
      mode  http
      maxconn  10
      stats  enable
      stats  hide-version
      stats  realm Haproxy\ Statistics
      stats  uri /
      stats  auth -----:-----