Its possible that I'm doing this wrong, I don't see many examples of working with tcp streams, but this combination seems to SEGV haproxy 1.6 consistently.
The idea is to capture the first 32 bytes of a TCP stream and use it to make a sticky session. What I've done is this: frontend fe_capture mode tcp bind *:9048 default_backend be_capture backend be_capture mode tcp balance roundrobin tcp-request inspect-delay 5s tcp-request content accept stick-table type binary len 32 size 30k expire 30m stick on payload(0,32) server test9050 127.0.0.1:9050 weight 1 check observe layer4 server test9051 127.0.0.1:9051 weight 1 check observe layer4 And to test it I do this: curl -v http://127.0.0.1:9048/ (And I'm not really doing all this to look at http, this is just an example that demonstrates the issue)