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.

Reply via email to