Hi Bertrand,

Le 01/04/2014 23:10, Bertrand Jacquin a écrit :
Hi Willy,

I'm getting trouble with that sample configuration when backend has no
server available :

defaults HTTP
   mode http

   option httplog
   log global

frontend ft_public
   bind 0.0.0.0:80 name HTTP
   bind 0.0.0.0:443 name HTTPS ssl crt foo.pem

   acl v-local hdr(Host) 203.0.113.42
   acl p-admin path_beg /__bar

   http-request redirect scheme https code 301 if v-local p-admin ! { ssl_fc }

   use_backend bk_local if v-local p-admin

   default_backend bk_default

backend bk_local
   balance source
   option forwardfor except 127.0.0.1/8

   server localhost 127.0.0.1:8080 weight 10 maxconn 100 check inter 1000 fall 
2 rise 2

backend bk_default
   block if TRUE

If bk_local has server UP in the farm, and request look like
https://203.0.113.42/__bar, then everything is fine, request is nicely
handled by bk_local/localhost. http://203.0.113.42/__bar is correctly
redirected.

If bk_local has no server UP in the farm, then the 'http-request
redirect scheme' is always applied instead of a 503 response. I don't
known if this is the really intended result. In the request
(https://203.0.113.42/__bar),

I'm not sure to understand. Did you want to write http://203.0.113.42/__bar just above ? If it was supposed to be "http" instead of "https", I'd call it a feature and you can use "nbsrv" to disable disable redirects when no server are available.


   v-local match
   p-admin match
   ! { ssl_fc } does not match

So no redirection should be applied.

I'm using HA-Proxy version 1.5-dev22-1a34d57 2014/02/03
Copyright 2000-2014 Willy Tarreau <w...@1wt.eu>

Build options :
   TARGET  = linux2628
   CPU     = generic
   CC      = x86_64-pc-linux-gnu-gcc
   CFLAGS  = -march=native -O2 -pipe -fomit-frame-pointer -fno-strict-aliasing
   OPTIONS = USE_LIBCRYPT=1 USE_GETADDRINFO=1 USE_ZLIB=1 USE_OPENSSL=1 
USE_PCRE=1 USE_PCRE_JIT=1

Default settings :
   maxconn = 2000, bufsize = 16384, maxrewrite = 8192, maxpollevents = 200

Encrypted password support via crypt(3): yes
Built with zlib version : 1.2.8
Compression algorithms supported : identity, deflate, gzip
Built with OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
Running on OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes
Built with PCRE version : 8.33 2013-05-28
PCRE library supports JIT : yes
Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT 
IP_FREEBIND

Available polling systems :
       epoll : pref=300,  test result OK
        poll : pref=200,  test result OK
      select : pref=150,  test result OK
Total: 3 (3 usable), will use epoll.

Thanks.



--
Cyril Bonté

Reply via email to