I would like to forward a request in Apache, based on a request header, to a different forward proxy. I think the best would be to use mod_rewrite, but it can use only a reverse proxy defined in the same apache configuration.
I also checked the ProxyRemote property of mod_proxy but it can’t be used based on conditions, only based on request url’s.
I need something like:
If X-CUSTOM-HEADER is value-1 -> forward request to forward proxy p1
If X-CUSTOM-HEADER is value-2 -> forward request to forward proxy p2
etc.
Din anyone managed to make something like this?
Thanks,
Alin
I found a solution, its not really elegant. It involves some adaptation on the second server as well.
It derives from a project where I had a similar problem, but needed the servers to be “fully” (selected by a custom script that uses database resources).
This should at least work (I run my URL through a rewrite map to modify it, I adapted it to use headers using
RewriteCond).You basically adapt the URL so it is a subdomain of your second server, then you strip it out again.
This part goes on the second (remote proxy server):