Confirmed fix, thanks! B.
P.S Not sure what mailing list software this is, but Mail.app’s attempt to reply did not do anything sensible; had to edit to/from manually. > On 26 Apr 2015, at 17:22, Thierry FOURNIER <tfourn...@haproxy.com> wrote: > > Hi, > > The bug seems to be fixed, can you try the attached path ? > > Thierry FOURNIER > > On Sat, 25 Apr 2015 09:32:33 +0200 > Thierry FOURNIER <tfourn...@haproxy.com> wrote: > >> Hi, >> >> Thank you for the bug repport. I reproduce it, and it was a real bug. >> I look for this later. >> >> Thierry >> >> >> On Thu, 23 Apr 2015 22:42:25 +0100 >> Robert Samuel Newson <b...@rsn.io> wrote: >> >>> Hi All, >>> >>> I’m playing with the new set-path feature and encountered a bug. I’m using >>> 1.6-dev1 plus all the patches up to Apr 22nd, I think we’re all clear that >>> set-path was not working at all in 1.6-dev1 itself. It does now work but >>> not in all situations I’d expect. >>> >>> My config is below. I do nc -lk 8000 for the backend. For the first three >>> cases, I see the right HTTP request printed there. For the fourth, nothing, >>> and haproxy generates a 503. This is true if backend.map is empty (and thus >>> the default "back" should be chosen, which does exist) or it can contain >>> valid mappings to "back" and still returns 503 for requests with a matching >>> Host header. >>> >>> >>> global >>> nbproc 1 >>> >>> defaults >>> mode http >>> log global >>> balance roundrobin >>> option httplog >>> option log-health-checks >>> option log-separate-errors >>> option forwardfor >>> option redispatch >>> retries 4 >>> option http-server-close >>> timeout client 150s >>> timeout server 1h >>> timeout connect 5s >>> timeout queue 5s >>> >>> frontend front >>> bind :9000 >>> >>> # comment out as appropriate >>> >>> # case 1: works >>> use_backend %[hdr(host),map(backend.map,back)] >>> >>> # case 2: works >>> use_backend back >>> >>> # case 3: works >>> http-request set-path /foo >>> use_backend back >>> >>> # case 4: fails (503 response, no request sent to backend) >>> # backend.map can be empty or contain a valid mapping >>> http-request set-path /foo >>> use_backend %[hdr(host),lower,map(backend.map,back)] >>> >>> backend back >>> server server1 127.0.0.1:8000 weight 10 check inter 7s >>> >>> >>