Thank you very much for taking the time to review my information and give so
much detailed feed back!

I implemented the changes and the proxy now responds as designed.  In
production testing I found another item I need to attend to.

My original requirements did not include maintaining session affinity
(stickiness?), but those requirements have changed.

In looking at the documentation (I'm learning a lot from that alone!) I see
a number of keywords that are related to this, but I don't have enough
context to grasp their application.  I don't know much about HTTP
interaction beyond what I need for  tracking down network/communication
problems.

I need to configure HAProxy so it remembers which server responded to the
client's the previous request, and maintain that continuity until the
session ends.

As a practice, we avoid the use of cookies.  I am load balancing HTTP (80),
HTTPS (443) and net.tcp (808).  Is there a preferred common practice/keyword
configuration for accomplishing this with HAProxy?

Again, many thanks for your time and attention.
On Sat, Mar 19, 2011 at 12:44 AM, Willy Tarreau <[email protected]> wrote:

> Hello Don,
>
> On Fri, Mar 18, 2011 at 06:54:09PM -0600, Don MacArthur wrote:
> > When I address the browser URL directly to the web server address all
> works
> > well.  When i direct it through the proxy, on two sites I receive a
> message
> > that it can't connect, and on the third I get the prompt for the invalid
> > cert (correct, I'm accessing via the IP address) and then a 403 forbidden
> > message.  The proxy server can ping the web server and the web server can
> > ping the proxy server.  I experienced none of this in my test environment
> > and am wondering if I broke the config somehow, though I can find no
> > differences other than the addresses.
>
> I see several things that are wrong in your config, some of which could
> explain your issues :
>
> > listen port_443a
> > mode http
>
> Here I find it very strange that your port 443 is http. In  my opinion
> you'd want to have "mode tcp" here because I suspect that you're running
> SSL on this port.
>
> > balance roundrobin
> > option httpchk HTTP/1.1
>
> This is not the proper syntax for option httpchk. This will result in
> sending invalid HTTP requests ("OPTIONS HTTP/1.1 HTTP/1.1"). If you
> use only one parameter, it must be a URI (eg: /). Please take a look
> at the doc for the various possibilities.
>
> Also, having httpchk on an SSL service will probably not work, unless
> your server is able to talk HTTP on this port too. Otherwise, please
> use "option ssl-hello-chk" which will test for SSL.
>
> > bind 10.100.5.15:443
> > stats uri /haproxy-stats
>
> "stats uri" can only be used in HTTP instances, because on SSL, the
> request is ciphered in the stream and haproxy will not be able to do
> anything with it.
>
> > server web1 10.100.5.5:443
>
> Right now, this server has no checks as it misses the "check" parameter.
> This is why it used to work, otherwise you would have noticed on the
> stats page that the server would have been down.
>
> Same comments for the second instance below.
>
> > listen port_443b
> > mode tcp
> > balance leastconn
> > option httpchk HTTP/1.1
> > bind 10.100.5.16:443
> > stats uri /haproxy-stats
> > server web2 10.100.5.6:443
> >
> > listen port_808
> > mode tcp
>
> Here I suspect that you wanted HTTP on this port, but I may be
> wrong. If this is HTTP that you need, then I suggest that you
> also add "option http-server-close" too, otherwise haprox will
> only check the first request of every connection, and your
> stats will not always be accessible.
>
> > balance leastconn
> > option httpchk HTTP/1.1
> > bind 10.100.5.17:808
> > stats uri /haproxy-stats
> > server web3 10.100.5.7:808
>
> Regards,
> Willy
>
>
>

Reply via email to