A load balancer is set up with two back ends.

The request URI will look like the following:


How can I configure haproxy in such a way that the request is sent to one or the other of the two back ends, depending on the format of the request URI? The only difference between the requests is /tag-02/ in the request URI.

A haproxy config file for this with a bit of explanation would be much appreciated, since I’m new to haproxy.

2 Answers 2


You want to use ACLs:

backend be1 # this is your default backend
backend be2 # this is for /tag-02 requests

frontend fe
  default_backend be1
  acl url_tag02 path_beg /tag-02
  use_backend be2 if url_tag02

Section 7 of the HAProxy configuration guide has the details on ACLs, but you have to know the magic use_backend incantation hidden in section 4 of the guide to know what to do with the ACLs.

  • 2
    While the declared ACL style is generally more readable and reusable, you can, if you prefer, include the ACL declaration in the use_backend directive itself, with use_backend be2 if { path_beg /tag-02 }.
    – womble
    Apr 19, 2018 at 4:59

To provide a better example to the answer above , below is a configuration example.

frontend https-in
   bind *:443 ssl crt /etc/ssl/server.pem
   mode http
   redirect scheme https if !{ ssl_fc }

   acl uri_help path_beg /help
   use_backend help if uri_help

backend help
    balance     roundrobin
    server      help yourbackendserver.com check

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.