Here's another dump: [25/Sep/2012:12:54:00.380] frontend backend_pool610 (#15): invalid request backend backend_pool610 (#15), server <NONE> (#-1), event #0 src xx.xx.143.35:57191, session #27, session flags 0x00000080 HTTP msg state 26, msg flags 0x00000000, tx flags 0x00000000 HTTP chunk len 0 bytes, HTTP body len 0 bytes buffer flags 0x00908002, out 0 bytes, total 938 bytes pending 938 bytes, wrapping at 16384, error at position 23: 00000 GET /phpinfo.php?PATH=/Катал▒ 00034+ ▒г/&&pid=42 HTTP/1.1 ... 00622 X-FORWARDED-URI: /%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/&pid=42 00691+ 00692 X-FORWARDED-REQUEST: GET /%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/& 00762+ pid=42 HTTP/1.1
The full request should be like the following: GET /phpinfo.php?PATH=/Каталог/&&pid=42 HTTP/1.1 But as it can be seen from the dump, show error shows an unknown symbol "▒" as I understand it is the 23-nd. But why it appears here is really ununderstandable. In 1.5-dev7 version there aren't errors also. Here's tcpdump: # tcpdump -A -s 2000 -n -i lo dst host xx.xx.143.35 and dst port 9610 13:00:26.573281 IP xx.xx.143.35.38567 > xx.xx.143.35.9610: S 4221045014:4221045014(0) win 32792 <mss 16396,sackOK,timestamp 86443774 0,nop,wscale 7> E..<..@.@.i+Q..#Q..#..%... ...............@.... .'.......... 13:00:26.573297 IP xx.xx.143.35.38567 > xx.xx.143.35.9610: . ack 3246742477 win 257 <nop,nop,timestamp 86443774 86443774> E..4..@.@.i2Q..#Q..#..%... ...[............ .'...'.. 13:00:26.573357 IP xx.xx.143.35.38567 > xx.xx.143.35.9610: P 0:938(938) ack 1 win 257 <nop,nop,timestamp 86443774 86443774> E.....@.@.e.Q..#Q..#..%... ...[......y..... .'...'..GET /phpinfo.php?PATH=/............../&&pid=42 HTTP/1.1 Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru,ru-RU;q=0.9,en;q=0.8 Accept-Encoding: gzip, deflate Cookie: __ptca=137351919.6tcw1SGtta9M.1334637172.1334637172.1334637172.1; __ptv_3S8nQr=6tcw1SGtta9M; __pti_3S8nQr=6tcw1SGtta9M; __ptcz=137351919.1334637172.1.0.ptmcsr=(direct)|ptmcmd=(none)|ptmccn=(direct) Cache-Control: no-cache X-FORWARDED-URI: /%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/&pid=42 X-FORWARDED-REQUEST: GET /%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/&pid=42 HTTP/1.1 On Fri, Sep 21, 2012 at 08:59:57PM +0200, Baptiste wrote: > HAProxy clearly says that the error is at position 23, which looks to > be a P, but I guess this is due to the copy/paste. > A tcpdump may help understanding what type of character is at this position. > > That said, sounds weird that it works with HAProxy 1.4 and does not > anymore with 1.5-dev12. > Could you give a try to 1.5-dev7 ? > > cheers > > > On Fri, Sep 21, 2012 at 8:17 PM, Alexey Vlasov <ren...@renton.name> wrote: > > Yes, it's 400 error. But the tuning unfortunately doesn't help. > > > > -- > > BRGDS. Alexey Vlasov. > > > > On Fri, Sep 21, 2012 at 06:50:30PM +0200, Thomas Heil wrote: > >> Hi, > >> > >> If this is error 400. Maybe your Get Request become too long. > >> Would you mind try increasing your buffsize but leaving maxrewrite on 1024. > >> e.g > >> > >> -- > >> global > >> tune.bufsize 32678 > >> tune.maxrewrite 1024 > >> -- > >> > >> cheers, > >> thomas > >> > >> > >> On 21.09.2012 18:17, Alexey Vlasov wrote: > >> > [21/Sep/2012:20:12:41.265] frontend backend_pool610 (#15): invalid > >> > request > >> > backend backend_pool610 (#15), server <NONE> (#-1), event #0 > >> > src xx.xx.143.35:37769, session #71, session flags 0x00000080 > >> > HTTP msg state 26, msg flags 0x00000000, tx flags 0x00000000 > >> > HTTP chunk len 0 bytes, HTTP body len 0 bytes > >> > buffer flags 0x00808002, out 0 bytes, total 913 bytes > >> > pending 913 bytes, wrapping at 16384, error at position 23: > >> > > >> > 00000 GET /phpinfo.php?PATH=/РР°СалР> >> > 00034+ ѕРі/&&pid=42 HTTP/1.1 > >> > > >> > 00057 Host: test-l24-apache-aux4.p2 > >> > > >> > 00092 User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; U; ru) > >> > Presto/2.10.289 > >> > 00162+ Version/12.02 > >> > > >> > 00177 Accept: text/html, application/xml;q=0.9, > >> > application/xhtml+xml, image > >> > 00247+ /png, image/webp, image/jpeg, image/gif, image/x-xbitmap, > >> > */*;q=0.1 > >> > 00315+ > >> > > >> > 00316 Accept-Language: ru,ru-RU;q=0.9,en;q=0.8 > >> > > >> > 00358 Accept-Encoding: gzip, deflate > >> > > >> > 00390 Cookie: > >> > __ptca=137351919.6tcw1SGtta9M.1334637172.1334637172.1334637172 > >> > 00460+ .1; __ptv_3S8nQr=6tcw1SGtta9M; __pti_3S8nQr=6tcw1SGtta9M; > >> > __ptcz=13735 > >> > 00530+ > >> > 1919.1334637172.1.0.ptmcsr=(direct)|ptmcmd=(none)|ptmccn=(direct) > >> > > >> > 00597 X-FORWARDED-URI: > >> > /%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/&pid=42 > >> > 00666+ > >> > > >> > 00667 X-FORWARDED-REQUEST: GET > >> > /%D0%9A%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3/& > >> > 00737+ pid=42 HTTP/1.1 > >> > > >> > 00754 X-Forwarded-For: xx.x.248.121 > >> > > >> > 00787 X-Forwarded-Host: test-l24-apache-aux4.p2 > >> > > >> > 00834 X-Forwarded-Server: www.test-l24-apache-aux4.p2 > >> > > >> > 00887 Connection: Keep-Alive > >> > > >> > 00911 > >> > > >> > On Fri, Sep 21, 2012 at 04:00:00PM +0200, Baptiste wrote: > >> >> 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 <ren...@renton.name> > >> >> 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. > >> >>> > >> > > >> > >> > >> > > > -- BRGDS. Alexey Vlasov.