Crude, but what about:

    ProxyPassMatch "^/foo/(.+)$" "http://localhost:8009/foo/$1";

? (not sure about + escaping, can be \+)

--

With Best Regards,
Marat Khalili


On 17/12/15 01:34, Christopher Schultz wrote:
All,

I've got a reverse-proxy in front of Tomcat that I'd like to configure.
When using mod_jk, we have a configuration like this:

    RedirectMatch ^/foo(/)?$ /foo/someplace_specific.html
    RedirectMatch ^/foo/index.html$ /foo/someplace_specific.html
    JkMount /foo/*.do myWorker

This works swimmingly.

Now, we have an environment where we need to use mod_proxy instead, so
we have tried this:

    RedirectMatch ^/foo(/)?$ /foo/someplace_specific.html
    RedirectMatch ^/foo/index.html$ /foo/someplace_specific.html

    ProxyPass /foo/ http://localhost:8009/foo/
    ProxyPassReverse /foo/ http://localhost:8009/foo/

(There may be typos in there, but I typed it from memory and sanitized
it at the same time. Don't worry too much about that; the order and gist
is correct.)

Sharp-eyed readers will note that ProxyPass will take precedence over
the RedirectMatch directive. No problem, we can just un-proxy that
special path:

    RedirectMatch ^/foo(/)?$ /foo/someplace_specific.html
    RedirectMatch ^/foo/index.html$ /foo/someplace_specific.html
    ProxyPass /foo/index.html !
    ProxyPass /foo/ http://localhost:8009/foo/
    ProxyPassReverse /foo/ http://localhost:8009/foo/

Unfortunately, this doesn't seem to be working for me: a request for
/foo/index.html gives me a 404 error *and a JSESSIONID from Tomcat*, so
I'm fairly certain that the request is being proxied.

I'm certain that I have some small error in my configuration for the
index.html case, but I think I'm up against a wall when it comes to the
/foo/ case: the RedirectMatch looks for ^/foo(/)?$ which is necessarily
the "root" of the virtual-directory being proxied... so I'm going to
need to tell mod_proxy to turn-off proxying for a specific URL.

I know that using mod_rewrite, we can use the [P] flag to send things
through mod_proxy. Is there a do-not-proxy flag for mod_rewrite that I
can use? Or do I have to change from using ProxyPass to using
RewriteRule with [P] for everything instead? I'd prefer a solution that
doesn't involve mod_rewrite if I can get away with it.

Thanks,
-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org


Reply via email to