On Mon, Jun 22, 2020 at 5:13 PM Yann Ylavic <ylavic....@gmail.com> wrote:
>
> On Mon, Jun 22, 2020 at 5:04 PM jean-frederic clere <jfcl...@gmail.com> wrote:
> >
> > Do we want:
> > curl -v --path-as-is "http://localhost:8000/docs/..;food=bar/test/index.jsp";
> > ProxyMappingDecoded Off
> > <Location "/docs">
> >    ProxyPass  ajp://localhost:8009/docs secret=%A1b2!@ mapping=servlet
> > </Location>
> > <Location "/test">
> >    ProxyPass  ajp://localhost:8009/test secret=%A1b2!@ mapping=servlet
> > </Location>
> > To map to tomcat?

It should work now with my latest updates to trunk.
As Eric noticed, the original version did not work in location context.

> >
> > like:
> > ProxyMappingDecoded Off
> > ProxyPass  /docs ajp://localhost:8009/docs secret=%A1b2!@ mapping=servlet
> > ProxyPass  /test ajp://localhost:8009/test secret=%A1b2!@ mapping=servlet

ProxyMappingDecoded is not needed anymore (and was removed).
The mapping= tells mod_proxy at which stage ([pre_]translate) it
should map the request path.
For "servlet" mapping (and the other existing "encoded" mapping, which
"servlet" is a subset of), that's pre_trans when r->uri is still
encoded.
I think it simplifies quite some things to handle it this way.

>
> I didn't test, but the patch is supposed to
> allow for that, or:
>
> <Proxy "ajp://localhost:8009/docs">
>    ProxyMappingDecoded Off
>    ProxySet secret=%A1b2!@ mapping=servlet
>    ProxyPass /docs
> </Proxy>
> <Proxy "ajp://localhost:8009/test">
>    ProxyMappingDecoded Off
>    ProxySet secret=%A1b2!@ mapping=servlet
>    ProxyPass /test
> </Proxy>

Scratch that, <Proxy context is resolved at a later stage/hook, so I
don't think that an inner ProxyPass mapping= can work as expected.
Also, mapping= is a property of the ProxyPass, not the worker..


Regards;
Yann.

Reply via email to