Hi, On Fri, May 03, 2013 at 05:45:45PM +0800, Jianhua Qin wrote: > hi, all > > Go straight to the point > 1. base information > haproxy version: 1.4.23 > ip: 192.168.1.1 > snippet of haproxy.cfg > ==== > *......* > *frontend tcp_frontend > bind :3128 > mode tcp* > ** > * tcp-request inspect-delay 3s > tcp-request content accept if HTTP* > ** > * use_backend http_backend if HTTP !HTTP_URL_ABS > default_backend tcp_backend* > ** > *backend tcp_backend > mode tcp > option transparent* > ** > *backend http_backend > mode http > server s1 127.0.0.1:8081* > *...* > ==== > > 2. when "curl -v -x 192.168.1.1:3128 http://www.sohu.com/", it is > horrible... > ==== > * PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ > COMMAND > 17260 nobody 18 0 151m 45m 456 R 97.7 0.6 25:14.91 haproxy * > ===== > VIRT up to 151m, RES up to 45m, and CPU up to 97.7% > > 3. config line > "*use_backend http_backend if HTTP !HTTP_URL_ABS*" > change to > "*use_backend http_backend if HTTP*" > it is ok now, bug the PROXY requests can not be filtered, any suggest?
I suspect from your configuration that you're making haproxy reconnect to itself : the "transparent" option in the backend makes it connect to the original destination ip:port. So unless you used some iptables rules to force the traffic into haproxy when it as not destinated to it, I'm quite certain that the backend reconnects to the frontend. Willy

