So I'm trying to come up with the best way of doing this, but am having
a heck of a time. Basically I have several different backend service
pools, and I have one externally facing haproxy router. I want to take a
map of public URLs and route them to specific backend URLs.
For example

public.example.com/foo/bar -> foo.internal.example.com/one
public.example.com/foo/baz -> foo.internal.example.com/two
public.example.com/another -> more.internal.example.com/three

So the first 2 public URLs go to the same backend, but need different
rewrite rules.

I've tried doing the following config:
frontend public
  acl foo_bar path_dir /foo/bar
  reqrep ^([^\ ]*\ )/foo/bar(.*) \1/one\2 if foo_bar
  use_backend foo if foo_bar

Except it seems that the foo_bar acl isn't cached, and get's
re-evaluated after doing the reqrep, and so the use_backend fails.

The only way I can think of doing this is to put the acl and the
use_backend in the frontend, and then put the acl again with the reqrep
in the backend. Is there any cleaner way (if it works since I haven't
tried it yet)?

-Patrick

Reply via email to