Good morning,

I'm trying to run down an issue that is presenting itself with no log
data, so I'm in the dark here and I wonder if someone can shed some
light. We have an instance of HAProxy that is occasionally sending no
data in response to an HTTP request. A failed request looks like this:

jsmith@upsidedown:~$ curl http://haproxy/
curl: (52) Empty reply from server

This is surprisingly frequent, say 1 out of 10 requests. The site is
pretty heavily loaded, and this is a virtualized platform. An
automated script that attempts to connect to the UNIX socket for
statistics collection has also been failing all morning on this
HAProxy with [Errno 104] Connection reset by peer (which is strange).
Are there any known issues in 1.4.15 regarding this?

Here is the configuration -- I've commented out a couple things during
my troubleshooting:

global
  daemon
  pidfile /var/pidfile
  maxconn 5000
  stats socket /var/sock mode 600 level admin
  spread-checks 5

defaults
  timeout connect 10s
  timeout client 30s
  timeout http-request 10s
  timeout queue 10s
  timeout server 30s
  #option tcp-smart-accept
  #option tcp-smart-connect

# Health monitoring
listen health
  mode http
  bind
  monitor-uri /ping
  acl local src
  acl local src
  block unless local
  stats enable
  stats show-desc
  stats show-legends
  stats show-node
  stats uri /stats

# Frontend: none
frontend listener199
  mode http
  bind <ipv4>:80
  bind <ipv6>:80
  option forwardfor
  option httpclose
  default_backend config199

# Frontend: none
frontend listener200
  mode tcp
  bind <ipv4>:443
  bind <ipv6>:443
  default_backend config200

# Backend: none
backend config199
  id 199
  mode http
  balance leastconn
  timeout check 3s
  option httpchk GET / HTTP/1.1\r\nHost:\ 96.126.119.37
  http-check send-state
  http-check expect rstatus ^[23]\d{2}$
  default-server error-limit 2 inter 5s rise 2 fall 2
  server node270 <backend>:80 id 270 observe layer7 weight 100 check
  server node271 <backend>:80 id 271 observe layer7 weight 100 check

# Backend: none
backend config200
  id 200
  mode tcp
  balance leastconn
  stick-table type ip size 50k expire 30m
  stick on src
  timeout check 3s
  default-server error-limit 2 inter 5s rise 2 fall 2
  server node272 <backend>:443 id 272 observe layer4 weight 100 check
  server node273 <backend>:443 id 273 observe layer4 weight 100 check

-- 
Jed Smith
[email protected]

Reply via email to