On 06.07.2009 11:01 Uhr, Unai Rodriguez wrote:
> ...
> frontend f1 10.123.16.195:80
>     mode http
>     default_backend iis
>     acl cas path_beg -i /cas/
>     use_backend casbe if cas
> 
> backend casbe
>     mode   http
>     server 10.123.12.108:80 10.123.12.108:80 check inter 5000 rise 2 fall 3
> 
> backend iis
>     mode    http
>     server  10.123.16.124:80 10.123.16.124:80 check inter 5000 rise 2 fall
> 3
> ...
> 
> Now here is the issue... If I open a http://xxx/cas/ URL it will usually
> work fine. If I keep refreshing the browser a random number of times (from
> 5 to 50 times) using Ctrl + F5 it will eventually display a page not found
> error (HTTP 404). Looking at the logs I see that HAProxy is connecting me
> to the wrong backend server (a.k.a. iis) instead of casbe.
> 

Unai,

Most likely, your issue will be resolved by issuing option httpclose
into your frontend section (or option forceclose in certain cases - see
the documentation for that)

The likely root cause for your problem is that only the headers of the
first HTTP request in a TCP session are observed for routing. Subsequent
requests over the same TCP conection (called keepalive traffic) are
routed to the same backend as the first request, hence your errors. If
you look into the haproxy logs you will notice that currently only some
some of your requests are recognize by haproxy. This will most likly be
resolved by the the aforementioned option.

--Holger


Reply via email to