hi Jeff, Please keep the ML in Cc, so everybody can benefit of the resolution.
HAProxy returns a 503 when there is no server available in the farm. Please turn on haproxy stat socket and check the server status on it: it should be UP, but I guess it is DOWN for now. Baptiste On Tue, May 28, 2013 at 8:20 AM, Jeff Flesher <[email protected]> wrote: > I got to thinking about what you said about AND being implicit; I understand > that now, so I rewrote it to evaluate it, its clear now that I have to do > this, so the AND would make sense, but this seems to run, at least the > service started: > acl is_sub_domain_com_0 url_sub wt-8080 > use_backend domain_com_be_0 if is_domain_com_0 is_sub_domain_com_0 > This code runs; but I get the Error: > 503 Service Unavailable > I can pull up the site with the port number 8080 or 8081; > I am new to haproxy; but its clear I need to setup logging so I can figure > out why the 503; but can you tell me if I am doing this right now? > > Here is my new plan; but as I stated, I get 503 Blues; now I need to learn > about logging... > > *********** > > global > log 127.0.0.1 local0 > log 127.0.0.1 local1 notice > maxconn 4096 > user haproxy > group haproxy > daemon > > defaults > log global > mode http > option httplog > option dontlognull > option http-server-close > option http-pretend-keepalive > option forwardfor > option originalto > retries 3 > option redispatch > maxconn 2048 > contimeout 5000 > clitimeout 50000 > srvtimeout 50000 > > frontend wt > bind 123.123.123.123:80 > redirect prefix http://domain.com code 301 if { hdr(host) -i > www.domain.com } > > acl is_domain_com_0 hdr_end(host) -i domain.com > acl domain_com_0_up nbsrv(domain_com_be_0) gt 0 > acl is_sub_domain_com_0 url_sub wt-8080 > use_backend domain_com_be_0 if is_domain_com_0 is_sub_domain_com_0 > domain_com_0_up > > > acl is_domain_com_1 hdr_end(host) -i domain.com > acl domain_com_1_up nbsrv(domain_com_be_1) gt 0 > acl is_sub_domain_com_1 url_sub wt-8081 > use_backend domain_com_be_1 if is_domain_com_1 is_sub_domain_com_1 > domain_com_1_up > > > default_backend domain_com_lb > > backend domain_com_lb > balance roundrobin > server ServerThread-0 123.123.123.123:8080 track > domain_com_be_0/ServerThread-0 > server ServerThread-1 123.123.123.123:8081 track > domain_com_be_1/ServerThread-1 > backend domain_com_be_0 > balance roundrobin > server ServerThread-0 123.123.123.123:8080 check > backend domain_com_be_1 > balance roundrobin > server ServerThread-1 123.123.123.123:8081 check > *********** > > > On Mon, May 27, 2013 at 9:45 PM, Baptiste <[email protected]> wrote: >> >> Hi Jeff, >> >> AND is implicit between ACLs. >> No need to precise it. Please give a try to your configuration without >> this unknown keyword and it may works. >> >> Baptiste >> >> >> On Tue, May 28, 2013 at 5:18 AM, Jeff Flesher >> <[email protected]> wrote: >> > I have a Wt wthttpd Server running two threads or instances of the >> > server, >> > I want each URL to be on its own backend, and will have other URLs in >> > this >> > same configuration; >> > I just keep it simple here with one running two threads; but how do I do >> > this? >> > This link shows the basic setup for Wt wthttpd >> > >> > http://redmine.webtoolkit.eu/projects/1/wiki/Using_HAProxy_as_a_reverse_proxy >> > As you can see it creates the thread using a Prefix, so I want to attach >> > the >> > URL to this Prefix. >> > I tried to AND the two like this: >> > acl is_domain_com_0 hdr_end(host) -i domain.com >> > use_backend domain_com_be_0 if is_domain_com_0 AND url_sub wtd=wt-8080 >> > This is the warning I get >> > [ALERT] 146/224731 (4249) : parsing [/etc/haproxy/haproxy.cfg:30] : >> > error >> > detected while parsing switching rule. >> > where line 30 is this line: >> > use_backend domain_com_be_0 if is_domain_com_0 AND url_sub wtd=wt-8080 >> > ---------------------------- >> > global >> > log 127.0.0.1 local0 >> > log 127.0.0.1 local1 notice >> > maxconn 4096 >> > user haproxy >> > group haproxy >> > daemon >> > >> > defaults >> > log global >> > mode http >> > option httplog >> > option dontlognull >> > option http-server-close >> > option http-pretend-keepalive >> > option forwardfor >> > option originalto >> > retries 3 >> > option redispatch >> > maxconn 2048 >> > contimeout 5000 >> > clitimeout 50000 >> > srvtimeout 50000 >> > >> > frontend wt >> > bind 123.123.123.123:80 >> > redirect prefix http://domain.com code 301 if { hdr(host) -i >> > www.domain.com } >> > acl is_domain_com_0 hdr_end(host) -i domain.com >> > acl domain_com_0_up nbsrv(domain_com_be_0) gt 0 >> > use_backend domain_com_be_0 if is_domain_com_0 AND url_sub >> > wtd=wt-8080 >> > acl is_domain_com_1 hdr_end(host) -i domain.com >> > acl domain_com_1_up nbsrv(domain_com_be_1) gt 0 >> > use_backend domain_com_be_1 if is_domain_com_1 AND url_sub >> > wtd=wt-8081 >> > default_backend domain_com_lb >> > >> > backend domain_com_lb >> > balance roundrobin >> > server ServerThread-0 123.123.123.123:8080 track >> > domain_com_be_0/ServerThread-0 >> > server ServerThread-1 123.123.123.123:8081 track >> > domain_com_be_1/ServerThread-1 >> > backend domain_com_be_0 >> > balance roundrobin >> > server ServerThread-0 123.123.123.123:8080 check >> > backend domain_com_be_1 >> > balance roundrobin >> > server ServerThread-1 123.123.123.123:8081 check >> > >> > ------------------------------------------- >> > Jeff Flesher >> > Disabled Gulf War Vet > > > > > -- > Jeff Flesher > Disabled Gulf War Vet

