Hi, I'm using Haproxy1.4.24 on CentOS5.9. My Haproxy.cfg frontend is working with 'mode tcp' like this.. ---------------------------- defaults mode tcp # mode http option tcplog retries 3 option redispatch timeout connect 5000 timeout client 50000 timeout server 50000
frontend all 0.0.0.0:80 maxconn 2000 timeout client 50000 default_backend backserver ---------------------------- And backend is working with 'mode http' like this ---------------------------- backend backserver mode http balance roundrobin option http-server-close option forwardfor server serv1 192.168.x.x maxconn 1024 server serv2 192.168.x.x maxconn 1024 ---------------------------- Then I input the command echo 'show errors' | socat unix-connect:/tmp/haproxyxxx/stats.socket stdio and got message like this.. ---------------------------- [04/Jul/2013:11:39:40.523] frontend all (#2): invalid request src (Client IP), session #9620, backend <NONE> (#-1), server <NONE> (#-1) HTTP internal state 26, buffer flags 0x00909002, event #393 request length 1400 bytes, error at position 77: 00000 GET /xxxxxxxxyyyyyyyy/fooooo.cgi?aaaa=xxxxx&bbb=xxxxxxxxxxxxxxxxxxxxxxx 00070+ xxxxxxx\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 ---------------------------- I can understand that Haproxy has accepted invalid http request from client. But I have 2 questions. 1) Does my Haproxy check requests about Http-Level(L7) headers content in spite of running with 'mode tcp'? According to the logs from unix-socket, Haproxy seems to check requests about L7 headers... I cant understand it why. 2) Can I simply pass through requests to backend server? I want to pass through the lots requests without checking to haproxy. I want any ideas. thanks.

