From: Yann Ylavic <Location>
) will be matched using the
same mapping.
mapping=encoded
prevents the %-decoding of the uri-path so
- that one can match for instance /some%2furi%2fpath%2fwith%2fslash
in a
- ProxyPass
or in a <Location>
context.
ProxyPass "/special%3Fsegment" "https://example.com/special%3Fsegment" mapping=encoded+ +
<Location "/special%3Fsegment"> + Require ip 172.17.2.0/24 +</Location>+
mapping=servlet
refers to the normalization defined by the Servlet
specification, which is for instance applied by Apache Tomcat for servlet containers
(notably the path parameters are ignored for the mapping). An uri-path like
- /some;foo/path
is then mapped as /some/path
hence matches:
<Location /some/path>
or:
ProxyPass "/some/path" "https://tomcat.example.com/some/path"
regardless of the requested path parameters.
-It is recommended to use the same mapping on the Apache httpd side than the one
- used on the backend side. For instance when configuring authorizations in
- <Location>
blocks for paths that are mapped by mod_proxy
- to some servlet containers (like applications running on Apache Tomcat), one should
- use the mapping=servlet
setting to prevent path parameters and alike from
- interfering with the authorizations that are to be enforced in by the Apache httpd.
/some;foo/path
is then mapped as /some/path
hence matches any
+ of the below regardless of the requested path parameters:
+ ProxyPass "/some/path" "https://servlet.example.com/some/path" mapping=servlet+ +
<Location "/some/path"> + Require valid-user +</Location>+ +
It is recommended to use the same mapping on the Apache httpd side than the one
+ used on the backend side. For instance when configuring authorizations in
+ <Location>
blocks for paths that are mapped by mod_proxy
+ to some servlet containers (like applications running on Apache Tomcat), one should
+ use the mapping=servlet
setting to prevent path parameters and alike from
+ interfering with the authorizations that are to be enforced in by the Apache httpd.