From: Yann Ylavic Date: Thu, 16 Dec 2021 15:07:43 +0000 (+0000) Subject: Sync docs [skip ci]. X-Git-Tag: 2.5.0-alpha2-ci-test-only~629 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e9fa9ce6d013e396231e991ee2b5a67183e782ce;p=thirdparty%2Fapache%2Fhttpd.git Sync docs [skip ci]. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1896063 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_proxy.html.en.utf8 b/docs/manual/mod/mod_proxy.html.en.utf8 index ee3cea5b1a2..3dee332270e 100644 --- a/docs/manual/mod/mod_proxy.html.en.utf8 +++ b/docs/manual/mod/mod_proxy.html.en.utf8 @@ -1444,23 +1444,32 @@ ProxyPass "/mirror/foo" "http://backend.example.com" contexts that use a path (like <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.

+ that one can use for instance configurations like:

+
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.

-

Note

-

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>
+ +

Note

+

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.

+