summaryrefslogtreecommitdiff
path: root/docs/manual/urlmapping.html
diff options
context:
space:
mode:
authorJoshua Slive <slive@apache.org>2002-06-14 02:57:00 +0000
committerJoshua Slive <slive@apache.org>2002-06-14 02:57:00 +0000
commit50a906c7806d969d4a1132a39ad53f94fae326d7 (patch)
tree4433e122de49074a4c5e556dc535b28a45908f5e /docs/manual/urlmapping.html
parent4ec6c6fe3b62593fdab4bd83259bffa7942d12d2 (diff)
downloadhttpd-50a906c7806d969d4a1132a39ad53f94fae326d7.tar.gz
Add some information about reverse proxying to the url mapping document.
Also, while I'm in there, make some of the user-matching regexes more restrictive. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95664 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/urlmapping.html')
-rwxr-xr-xdocs/manual/urlmapping.html65
1 files changed, 51 insertions, 14 deletions
diff --git a/docs/manual/urlmapping.html b/docs/manual/urlmapping.html
index 627dcf053f..a127bb1c16 100755
--- a/docs/manual/urlmapping.html
+++ b/docs/manual/urlmapping.html
@@ -3,8 +3,6 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
<title>Mapping URLs to Filesystem Locations - Apache HTTP
Server</title>
</head>
@@ -30,6 +28,8 @@
<li><a href="#redirect">URL Redirection</a></li>
+ <li><a href="#proxy">Reverse Proxy</a></li>
+
<li><a href="#rewrite">Rewrite Engine</a></li>
<li><a href="#notfound">File Not Found</a></li>
@@ -41,6 +41,7 @@
<td valign="top"><strong>Related Modules</strong><br />
<br />
<a href="mod/mod_alias.html">mod_alias</a><br />
+ <a href="mod/mod_proxy.html">mod_proxy</a><br />
<a href="mod/mod_rewrite.html">mod_rewrite</a><br />
<a href="mod/mod_userdir.html">mod_userdir</a><br />
<a href="mod/mod_speling.html">mod_speling</a><br />
@@ -60,6 +61,8 @@
<a
href="mod/core.html#errordocument">ErrorDocument</a><br />
<a href="mod/core.html#options">Options</a><br />
+ <a href="mod/mod_proxy.html#proxypass">ProxyPass</a><br />
+ <a href="mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a><br />
<a href="mod/mod_alias.html#redirect">Redirect</a><br />
<a
href="mod/mod_alias.html#redirectmatch">RedirectMatch</a><br />
@@ -137,7 +140,7 @@
substitution. For example,</p>
<blockquote>
- <code>ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*)
+ <code>ScriptAliasMatch ^/~([a-zA-Z0-9]*)/cgi-bin/(.*)
/home/$1/cgi-bin/$2</code>
</blockquote>
@@ -188,7 +191,7 @@
following <code>AliasMatch</code> directive:</p>
<blockquote>
- <code>AliasMatch ^/upages/([^/]*)/?(.*)
+ <code>AliasMatch ^/upages/([a-zA-Z0-9]*)/?(.*)
/home/$1/public_html/$2</code>
</blockquote>
@@ -238,18 +241,52 @@
http://www.example.com/startpage.html</code>
</blockquote>
+
+<h2><a id="proxy" name="proxy">Reverse Proxy</a></h2>
+
+<p>Apache also allows you to bring remote documents into the URL space
+of the local server. This technique is called <em>reverse
+proxying</em> because the web server acts like a proxy server by
+fetching the documents from a remote server and returning them to the
+client. It is different from normal proxying because, to the client,
+it appears the documents originate at the reverse proxy server.</p>
+
+<p>In the following example, when clients request documents under the
+<code>/foo/</code> directory, the server fetches those documents from
+the <code>/bar/</code> directory on <code>internal.example.com</code>
+and returns them to the client as if they were from the local
+server.</p>
+
+<blockquote>
+ProxyPass /foo/ http://internal.example.com/bar/<br />
+ProxyPassReverse /foo/ http://internal.example.com/bar/
+</blockquote>
+
+<p>The <a href="mod/mod_proxy.html#proxypass">ProxyPass</a> configures
+the server to fetch the appropriate documents, while the <a
+href="mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a>
+directive rewrites redirects originating at
+<code>internal.examle.com</code> so that they target the appropriate
+directory on the local server. It is important to note, however, that
+links inside the documents will not be rewritten. So any absolute
+links on <code>internal.example.com</code> will result in the client
+breaking out of the proxy server and requesting directly from
+<code>internal.example.com</code>.</p>
+
+
<h2><a id="rewrite" name="rewrite">Rewriting Engine</a></h2>
- <p>When even more powerful substitution is required, the
- rewriting engine provided by <a
- href="mod/mod_rewrite.html">mod_rewrite</a> can be useful. The
- directives provided by this module use characteristics of the
- request such as browser type or source IP address in deciding
- from where to serve content. In addition, mod_rewrite can use
- external database files or programs to determine how to handle
- a request. Many practical examples employing mod_rewrite are
- discussed in the <a href="misc/rewriteguide.html">URL Rewriting
- Guide</a>.</p>
+ <p>When even more powerful substitution is required, the rewriting
+ engine provided by <a href="mod/mod_rewrite.html">mod_rewrite</a>
+ can be useful. The directives provided by this module use
+ characteristics of the request such as browser type or source IP
+ address in deciding from where to serve content. In addition,
+ mod_rewrite can use external database files or programs to
+ determine how to handle a request. The rewriting engine is capable
+ of performing all three types of mappings discussed above:
+ internal redirects (aliases), external redirects, and proxying.
+ Many practical examples employing mod_rewrite are discussed in the
+ <a href="misc/rewriteguide.html">URL Rewriting Guide</a>.</p>
<h2><a id="notfound" name="notfound">File Not Found</a></h2>