Jim Jagielski wrote:
1. ProxyPass /foo/* balancer://bar
should silently rewrite itself to
ProxyPass /foo/ balancer://bar
In other words, we already assume a prefix
glob. But should we? In other words,
there is no difference between /foo/ and /foo/*.
If you are trying to mimic the mod_jk behavior
/foo/ -> allows only WEB-INF/web.xml/<welcome-file>
/foo/* -> allows everything in the application including welcome file
In general everything without a wild chars (*,?) is so called
'exact match'
However I presume the intention is to have /foo/*
That's why we have inside mod_jk option like
JkMount /foo|/*
That basically creates two mounts
/foo -> (exact) and /foo/* (wildchar)
so that /foo, /foo/ and /foo/bar are handled.
This is probably mod_jk bug (dating from ages)
cause JkMount /foo/ should be actually JkMount /foo/*
2. ProxyPass /*.gif balancer://bar
How to handle /i/j/jim.gif? Should
the resultant proxy request be
balancer://bar/i/j/jim.gif (ie: the whole
glob) or balancer://bar/jim.gif.
I think the former is the most logical
and the most unsurprising.
This should be of course the balancer://bar/i/j/jim.gif
Once again, if you wish to mimic the JkMount.
However I'm not sure how would ProxyPassReverse fit in there.
And of course once you introduce wild char maps there must
be some sort of exclusion rules.
ProxyPass /*/foo/* balancer://bar
then for example by extending ProxyBlock
ProxyBlock /*/foo/*.gif balancer://bar
or by having an ! in front of path
ProxyPass !/*/foo/*.gif balancer://bar
would allow other modules to deal with that resource
from httpd mount space (local static content for example)
Regards,
Mladen.