Hi, could you run a "show error" on haproxy stats socket? It will tell you exactly where the error is located.
cheers On Fri, Sep 21, 2012 at 2:50 PM, Alexey Vlasov <[email protected]> wrote: > Hi. > > By using the given below scheme: > ===== > apache (fe) - haproxy - apache (PHP) > ===== > and the rule in .htaccess > > ===== > RewriteEngine On > RewriteCond %{REQUEST_URI} ^(.*)/(.*)$ > RewriteCond %2 !\. > RewriteRule ^(.*)$ /phpinfo.php?PATH=%1/&%2 [QSA,L] > ===== > haproxy gives badrequest. > > Log from apache (fe): > ===== > xx.xx.248.121 - - [20/Sep/2012:16:08:51 +0400] "GET > /%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/&pid=42 HTTP/1.1" 400 90 "-" > "Opera/9.80 (Windows NT 6.1; WOW64; U; ru) Presto/2.10.289 > Version/12.02" > ===== > > haproxy: > ===== > Sep 20 16:08:51 l24 haproxy_aux4_pools[18980]: xx.xx.143.35:36564 > [20/Sep/2012:16:08:51.744] backend_pool610 backend_pool610/<NOSRV> > -1/-1/-1/-1/0 400 187 - - PR-- 1/0/0/0/10 0/0 {} "<BADREQ>" > ===== > > My haproxy.conf: > ===== > global > daemon > user haproxy > group haproxy > chroot /var/empty > maxconn 4096 > ulimit-n 32000 > stats socket /var/lib/haproxy/haproxy_aux4.sock level admin mode 600 > > defaults > log 127.0.0.1 local5 notice > mode http > retries 10 > maxconn 2000 > timeout client 50000 > timeout connect 5000 > timeout server 5m > balance roundrobin > option forwardfor except xx.xx.143.35/32 > option http-server-close > stats enable > stats uri /aouwl3j?stats > > listen backend_pool610 xx.xx.143.35:9610 > option httplog > log 127.0.0.1 local6 > cookie SERVERID > option httpchk > capture request header Host len 40 > server pool610 xx.xx.143.35:8610 weight 255 cookie pool4 check inter 800 > fall 3 rise 2 maxconn 500 > server pool3 xx.xx.143.35:8101 weight 1 cookie pool1 check inter > 2000 fall 3 rise 2 maxconn 250 > server pool4 xx.xx.143.35:8102 backup > ===== > > There's no such 400 error in version 1.4. > > -- > BRGDS. Alexey Vlasov. >

