mirror of
https://github.com/apache/httpd.git
synced 2025-08-05 16:55:50 +03:00
Quote path/URL arguments to Proxy* directives.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1673930 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||
<!-- English Revision: 1336196:1673892 (outdated) -->
|
||||
<!-- English Revision: 1336196:1673917 (outdated) -->
|
||||
<!-- French translation : Lucien GENTIS -->
|
||||
<!-- Reviewed by : Vincent Deffontaines -->
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
|
||||
<!-- English Revision: 545841:1673892 (outdated) -->
|
||||
<!-- English Revision: 545841:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='EUC-KR' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
||||
<!-- English Revision: 105989:1673892 (outdated) -->
|
||||
<!-- English Revision: 105989:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||
<!-- English Revision: 1379836:1673892 (outdated) -->
|
||||
<!-- English Revision: 1379836:1673917 (outdated) -->
|
||||
<!-- French translation : Lucien GENTIS -->
|
||||
<!-- Reviewed by : Vincent Deffontaines -->
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="EUC-KR" ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
||||
<!-- English Revision: 105989:1673892 (outdated) -->
|
||||
<!-- English Revision: 105989:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||||
<!-- English Revision: 1174747:1673892 (outdated) -->
|
||||
<!-- English Revision: 1174747:1673917 (outdated) -->
|
||||
<!-- =====================================================
|
||||
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||
Reviewed by: Orhan Berent <berent belgeler.org>
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
|
||||
<!-- English Revision: 344972:1673892 (outdated) -->
|
||||
<!-- English Revision: 344972:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
|
||||
<!-- English Revision: 1040494:1673892 (outdated) -->
|
||||
<!-- English Revision: 1040494:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||
<!-- English Revision: 1664071:1673892 (outdated) -->
|
||||
<!-- English Revision: 1664071:1673917 (outdated) -->
|
||||
<!-- French translation : Lucien GENTIS -->
|
||||
<!-- Reviewed by : Vincent Deffontaines -->
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
|
||||
<!-- English Revision: 669847:1673892 (outdated) -->
|
||||
<!-- English Revision: 669847:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||||
<!-- English Revision: 1302855:1673892 (outdated) -->
|
||||
<!-- English Revision: 1302855:1673917 (outdated) -->
|
||||
<!-- =====================================================
|
||||
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||
Reviewed by: Orhan Berent <berent belgeler.org>
|
||||
|
@@ -125,7 +125,7 @@ SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip</pre>
|
||||
the output filter chain using <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code> or <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>, for example:</p>
|
||||
|
||||
<pre class="prettyprint lang-config"><Location "/dav-area">
|
||||
ProxyPass http://example.com/
|
||||
ProxyPass "http://example.com/"
|
||||
SetOutputFilter INFLATE
|
||||
</Location></pre>
|
||||
|
||||
|
@@ -105,7 +105,7 @@ SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
|
||||
|
||||
<highlight language="config">
|
||||
<Location "/dav-area">
|
||||
ProxyPass http://example.com/
|
||||
ProxyPass "http://example.com/"
|
||||
SetOutputFilter INFLATE
|
||||
</Location>
|
||||
</highlight>
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||
<!-- English Revision: 1533274:1673892 (outdated) -->
|
||||
<!-- English Revision: 1533274:1673917 (outdated) -->
|
||||
<!-- French translation: Fabien Coelho -->
|
||||
<!-- Updated by Lucien Gentis -->
|
||||
|
||||
|
@@ -202,8 +202,8 @@
|
||||
<p>In addition, if you wish to have caching enabled, consult
|
||||
the documentation from <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>.</p>
|
||||
|
||||
<div class="example"><h3>Reverse Proxy</h3><pre class="prettyprint lang-config">ProxyPass /foo http://foo.example.com/bar
|
||||
ProxyPassReverse /foo http://foo.example.com/bar</pre>
|
||||
<div class="example"><h3>Reverse Proxy</h3><pre class="prettyprint lang-config">ProxyPass "/foo" "http://foo.example.com/bar"
|
||||
ProxyPassReverse "/foo" "http://foo.example.com/bar"</pre>
|
||||
</div>
|
||||
|
||||
<div class="example"><h3>Forward Proxy</h3><pre class="prettyprint lang-config">ProxyRequests On
|
||||
@@ -251,7 +251,7 @@ ProxyVia On
|
||||
<code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> when used
|
||||
for a reverse proxy:</p>
|
||||
|
||||
<pre class="prettyprint lang-config">ProxyPass /example http://backend.example.com connectiontimeout=5 timeout=30</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30</pre>
|
||||
|
||||
|
||||
<p>This will create a worker associated with the origin server URL
|
||||
@@ -284,8 +284,8 @@ ProxyVia On
|
||||
<p>The URL identifying a direct worker is the URL of its
|
||||
origin server including any path components given:</p>
|
||||
|
||||
<pre class="prettyprint lang-config">ProxyPass /examples http://backend.example.com/examples
|
||||
ProxyPass /docs http://backend.example.com/docs</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPass "/examples" "http://backend.example.com/examples"
|
||||
ProxyPass "/docs" "http://backend.example.com/docs"</pre>
|
||||
|
||||
|
||||
<p>This example defines two different workers, each using a separate
|
||||
@@ -296,8 +296,8 @@ ProxyPass /docs http://backend.example.com/docs</pre>
|
||||
the URL of some worker is a leading substring of the URL of another
|
||||
worker defined later in the configuration file. In the following example</p>
|
||||
|
||||
<pre class="prettyprint lang-config">ProxyPass /apps http://backend.example.com/ timeout=60
|
||||
ProxyPass /examples http://backend.example.com/examples timeout=10</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPass "/apps" "http://backend.example.com/" timeout=60
|
||||
ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre>
|
||||
|
||||
|
||||
<p>the second worker isn't actually created. Instead the first
|
||||
@@ -405,7 +405,7 @@ ProxyPass /examples http://backend.example.com/examples timeout=10</pre>
|
||||
<code>proxy-nokeepalive</code> notes.</p>
|
||||
|
||||
<pre class="prettyprint lang-config"><Location "/buggyappserver/">
|
||||
ProxyPass http://buggyappserver:7001/foo/
|
||||
ProxyPass "http://buggyappserver:7001/foo/"
|
||||
SetEnv force-proxy-request-1.0 1
|
||||
SetEnv proxy-nokeepalive 1
|
||||
</Location></pre>
|
||||
@@ -1023,7 +1023,7 @@ through</td></tr>
|
||||
then</p>
|
||||
|
||||
<pre class="prettyprint lang-config"><Location "/mirror/foo/">
|
||||
ProxyPass http://backend.example.com/
|
||||
ProxyPass "http://backend.example.com/"
|
||||
</Location></pre>
|
||||
|
||||
|
||||
@@ -1036,7 +1036,7 @@ through</td></tr>
|
||||
the below syntax is that it allows for dynamic control via the
|
||||
<a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> interface:</p>
|
||||
|
||||
<pre class="prettyprint lang-config">ProxyPass /mirror/foo/ http://backend.example.com/</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"</pre>
|
||||
|
||||
|
||||
<div class="warning">
|
||||
@@ -1051,15 +1051,15 @@ through</td></tr>
|
||||
to reverse-proxy a subdirectory, <em>e.g.</em></p>
|
||||
|
||||
<pre class="prettyprint lang-config"><Location "/mirror/foo/">
|
||||
ProxyPass http://backend.example.com/
|
||||
ProxyPass "http://backend.example.com/"
|
||||
</Location>
|
||||
<Location "/mirror/foo/i">
|
||||
ProxyPass !
|
||||
ProxyPass "!"
|
||||
</Location></pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-config">ProxyPass /mirror/foo/i !
|
||||
ProxyPass /mirror/foo http://backend.example.com</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!"
|
||||
ProxyPass "/mirror/foo" "http://backend.example.com"</pre>
|
||||
|
||||
|
||||
<p>will proxy all requests to <code>/mirror/foo</code> to
|
||||
@@ -1106,7 +1106,7 @@ ProxyPass /mirror/foo http://backend.example.com</pre>
|
||||
among all child processes, except when only one child process is allowed
|
||||
by configuration or MPM design.</p>
|
||||
|
||||
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300</pre>
|
||||
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300</pre>
|
||||
</div>
|
||||
|
||||
<table class="bordered"><tr><th>BalancerMember parameters</th></tr></table>
|
||||
@@ -1394,8 +1394,8 @@ ProxyPass /mirror/foo http://backend.example.com</pre>
|
||||
|
||||
</table>
|
||||
<p>A sample balancer setup</p>
|
||||
<pre class="prettyprint lang-config">ProxyPass /special-area http://special.example.com smax=5 max=10
|
||||
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
|
||||
<pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
|
||||
ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
|
||||
<Proxy balancer://mycluster>
|
||||
BalancerMember ajp://1.2.3.4:8009
|
||||
BalancerMember ajp://1.2.3.5:8009 loadfactor=20
|
||||
@@ -1406,7 +1406,7 @@ ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover
|
||||
|
||||
<p>Setting up a hot-standby, that will only be used if no other
|
||||
members are available</p>
|
||||
<pre class="prettyprint lang-config">ProxyPass / balancer://hotcluster/
|
||||
<pre class="prettyprint lang-config">ProxyPass "/" "balancer://hotcluster/"
|
||||
<Proxy balancer://hotcluster>
|
||||
BalancerMember ajp://1.2.3.4:8009 loadfactor=1
|
||||
BalancerMember ajp://1.2.3.5:8009 loadfactor=2
|
||||
@@ -1460,8 +1460,8 @@ RewriteCond %{HTTPS} =on
|
||||
RewriteRule . - [E=protocol:https]
|
||||
|
||||
RewriteRule ^/mirror/foo/(.*) %{ENV:protocol}://backend.example.com/$1 [P]
|
||||
ProxyPassReverse /mirror/foo/ http://backend.example.com/
|
||||
ProxyPassReverse /mirror/foo/ https://backend.example.com/</pre>
|
||||
ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
|
||||
ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"</pre>
|
||||
|
||||
|
||||
</div>
|
||||
@@ -1535,7 +1535,7 @@ ProxyPassReverse /mirror/foo/ https://backend.example.com/</pre>
|
||||
<p>Suppose the local server has address <code>http://example.com/</code>;
|
||||
then</p>
|
||||
|
||||
<pre class="prettyprint lang-config">ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com/$1</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com/$1"</pre>
|
||||
|
||||
|
||||
<p>will cause a local request for
|
||||
@@ -1545,12 +1545,12 @@ ProxyPassReverse /mirror/foo/ https://backend.example.com/</pre>
|
||||
<p>The URL argument must be parsable as a URL <em>before</em> regexp
|
||||
substitutions (as well as after). This limits the matches you can use.
|
||||
For instance, if we had used</p>
|
||||
<pre class="prettyprint lang-config">ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com:8000$1</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com:8000$1"</pre>
|
||||
|
||||
<p>in our previous example, it would fail with a syntax error
|
||||
at server startup. This is a bug (PR 46665 in the ASF bugzilla),
|
||||
and the workaround is to reformulate the match:</p>
|
||||
<pre class="prettyprint lang-config">ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com:8000/$1</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"</pre>
|
||||
|
||||
</div>
|
||||
<p>The <code>!</code> directive is useful in situations where you don't want
|
||||
@@ -1613,10 +1613,10 @@ proxied server</td></tr>
|
||||
<p>For example, suppose the local server has address
|
||||
<code>http://example.com/</code>; then</p>
|
||||
|
||||
<pre class="prettyprint lang-config">ProxyPass /mirror/foo/ http://backend.example.com/
|
||||
ProxyPassReverse /mirror/foo/ http://backend.example.com/
|
||||
<pre class="prettyprint lang-config">ProxyPass "/mirror/foo/" "http://backend.example.com/"
|
||||
ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
|
||||
ProxyPassReverseCookieDomain backend.example.com public.example.com
|
||||
ProxyPassReverseCookiePath / /mirror/foo/</pre>
|
||||
ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
|
||||
|
||||
|
||||
<p>will not only cause a local request for the
|
||||
@@ -1690,7 +1690,7 @@ reverse proxy. This directive rewrites the <code>path</code> string in
|
||||
In the example given with
|
||||
<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, the directive:
|
||||
</p>
|
||||
<pre class="prettyprint lang-config">ProxyPassReverseCookiePath / /mirror/foo/</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
|
||||
|
||||
<p>
|
||||
will rewrite a cookie with backend path <code>/</code> (or
|
||||
|
@@ -154,8 +154,8 @@
|
||||
|
||||
<example><title>Reverse Proxy</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /foo http://foo.example.com/bar
|
||||
ProxyPassReverse /foo http://foo.example.com/bar
|
||||
ProxyPass "/foo" "http://foo.example.com/bar"
|
||||
ProxyPassReverse "/foo" "http://foo.example.com/bar"
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
@@ -211,7 +211,7 @@ ProxyVia On
|
||||
for a reverse proxy:</p>
|
||||
|
||||
<highlight language="config">
|
||||
ProxyPass /example http://backend.example.com connectiontimeout=5 timeout=30
|
||||
ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30
|
||||
</highlight>
|
||||
|
||||
<p>This will create a worker associated with the origin server URL
|
||||
@@ -247,8 +247,8 @@ ProxyVia On
|
||||
origin server including any path components given:</p>
|
||||
|
||||
<highlight language="config">
|
||||
ProxyPass /examples http://backend.example.com/examples
|
||||
ProxyPass /docs http://backend.example.com/docs
|
||||
ProxyPass "/examples" "http://backend.example.com/examples"
|
||||
ProxyPass "/docs" "http://backend.example.com/docs"
|
||||
</highlight>
|
||||
|
||||
<p>This example defines two different workers, each using a separate
|
||||
@@ -260,8 +260,8 @@ ProxyPass /docs http://backend.example.com/docs
|
||||
worker defined later in the configuration file. In the following example</p>
|
||||
|
||||
<highlight language="config">
|
||||
ProxyPass /apps http://backend.example.com/ timeout=60
|
||||
ProxyPass /examples http://backend.example.com/examples timeout=10
|
||||
ProxyPass "/apps" "http://backend.example.com/" timeout=60
|
||||
ProxyPass "/examples" "http://backend.example.com/examples" timeout=10
|
||||
</highlight>
|
||||
|
||||
<p>the second worker isn't actually created. Instead the first
|
||||
@@ -379,7 +379,7 @@ ProxyPass /examples http://backend.example.com/examples timeout=10
|
||||
|
||||
<highlight language="config">
|
||||
<Location "/buggyappserver/">
|
||||
ProxyPass http://buggyappserver:7001/foo/
|
||||
ProxyPass "http://buggyappserver:7001/foo/"
|
||||
SetEnv force-proxy-request-1.0 1
|
||||
SetEnv proxy-nokeepalive 1
|
||||
</Location>
|
||||
@@ -887,7 +887,7 @@ expressions</description>
|
||||
|
||||
<highlight language="config">
|
||||
<Location "/mirror/foo/">
|
||||
ProxyPass http://backend.example.com/
|
||||
ProxyPass "http://backend.example.com/"
|
||||
</Location>
|
||||
</highlight>
|
||||
|
||||
@@ -901,7 +901,7 @@ expressions</description>
|
||||
<a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> interface:</p>
|
||||
|
||||
<highlight language="config">
|
||||
ProxyPass /mirror/foo/ http://backend.example.com/
|
||||
ProxyPass "/mirror/foo/" "http://backend.example.com/"
|
||||
</highlight>
|
||||
|
||||
<note type="warning">
|
||||
@@ -917,16 +917,16 @@ expressions</description>
|
||||
|
||||
<highlight language="config">
|
||||
<Location "/mirror/foo/">
|
||||
ProxyPass http://backend.example.com/
|
||||
ProxyPass "http://backend.example.com/"
|
||||
</Location>
|
||||
<Location "/mirror/foo/i">
|
||||
ProxyPass !
|
||||
ProxyPass "!"
|
||||
</Location>
|
||||
</highlight>
|
||||
|
||||
<highlight language="config">
|
||||
ProxyPass /mirror/foo/i !
|
||||
ProxyPass /mirror/foo http://backend.example.com
|
||||
ProxyPass "/mirror/foo/i" "!"
|
||||
ProxyPass "/mirror/foo" "http://backend.example.com"
|
||||
</highlight>
|
||||
|
||||
<p>will proxy all requests to <code>/mirror/foo</code> to
|
||||
@@ -975,7 +975,7 @@ ProxyPass /mirror/foo http://backend.example.com
|
||||
|
||||
<example><title>Example</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300
|
||||
ProxyPass "/example" "http://backend.example.com" max=20 ttl=120 retry=300
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
@@ -1265,8 +1265,8 @@ ProxyPass /mirror/foo http://backend.example.com
|
||||
</table>
|
||||
<p>A sample balancer setup</p>
|
||||
<highlight language="config">
|
||||
ProxyPass /special-area http://special.example.com smax=5 max=10
|
||||
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
|
||||
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
|
||||
ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
|
||||
<Proxy balancer://mycluster>
|
||||
BalancerMember ajp://1.2.3.4:8009
|
||||
BalancerMember ajp://1.2.3.5:8009 loadfactor=20
|
||||
@@ -1278,7 +1278,7 @@ ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover
|
||||
<p>Setting up a hot-standby, that will only be used if no other
|
||||
members are available</p>
|
||||
<highlight language="config">
|
||||
ProxyPass / balancer://hotcluster/
|
||||
ProxyPass "/" "balancer://hotcluster/"
|
||||
<Proxy balancer://hotcluster>
|
||||
BalancerMember ajp://1.2.3.4:8009 loadfactor=1
|
||||
BalancerMember ajp://1.2.3.5:8009 loadfactor=2
|
||||
@@ -1337,8 +1337,8 @@ RewriteCond %{HTTPS} =on
|
||||
RewriteRule . - [E=protocol:https]
|
||||
|
||||
RewriteRule ^/mirror/foo/(.*) %{ENV:protocol}://backend.example.com/$1 [P]
|
||||
ProxyPassReverse /mirror/foo/ http://backend.example.com/
|
||||
ProxyPassReverse /mirror/foo/ https://backend.example.com/
|
||||
ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
|
||||
ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"
|
||||
</highlight>
|
||||
</usage>
|
||||
</directivesynopsis>
|
||||
@@ -1366,7 +1366,7 @@ ProxyPassReverse /mirror/foo/ https://backend.example.com/
|
||||
then</p>
|
||||
|
||||
<highlight language="config">
|
||||
ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com/$1
|
||||
ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com/$1"
|
||||
</highlight>
|
||||
|
||||
<p>will cause a local request for
|
||||
@@ -1377,13 +1377,13 @@ ProxyPassReverse /mirror/foo/ https://backend.example.com/
|
||||
substitutions (as well as after). This limits the matches you can use.
|
||||
For instance, if we had used</p>
|
||||
<highlight language="config">
|
||||
ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com:8000$1
|
||||
ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com:8000$1"
|
||||
</highlight>
|
||||
<p>in our previous example, it would fail with a syntax error
|
||||
at server startup. This is a bug (PR 46665 in the ASF bugzilla),
|
||||
and the workaround is to reformulate the match:</p>
|
||||
<highlight language="config">
|
||||
ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com:8000/$1
|
||||
ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"
|
||||
</highlight>
|
||||
</note>
|
||||
<p>The <code>!</code> directive is useful in situations where you don't want
|
||||
@@ -1450,10 +1450,10 @@ proxied server</description>
|
||||
<code>http://example.com/</code>; then</p>
|
||||
|
||||
<highlight language="config">
|
||||
ProxyPass /mirror/foo/ http://backend.example.com/
|
||||
ProxyPassReverse /mirror/foo/ http://backend.example.com/
|
||||
ProxyPass "/mirror/foo/" "http://backend.example.com/"
|
||||
ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
|
||||
ProxyPassReverseCookieDomain backend.example.com public.example.com
|
||||
ProxyPassReverseCookiePath / /mirror/foo/
|
||||
ProxyPassReverseCookiePath "/" "/mirror/foo/"
|
||||
</highlight>
|
||||
|
||||
<p>will not only cause a local request for the
|
||||
@@ -1537,7 +1537,7 @@ In the example given with
|
||||
<directive module="mod_proxy">ProxyPassReverse</directive>, the directive:
|
||||
</p>
|
||||
<highlight language="config">
|
||||
ProxyPassReverseCookiePath / /mirror/foo/
|
||||
ProxyPassReverseCookiePath "/" "/mirror/foo/"
|
||||
</highlight>
|
||||
<p>
|
||||
will rewrite a cookie with backend path <code>/</code> (or
|
||||
|
@@ -71,7 +71,7 @@
|
||||
(e.g. Apache Tomcat) using the AJP13 protocol. The usage is similar to
|
||||
an HTTP reverse proxy, but uses the <code>ajp://</code> prefix:</p>
|
||||
|
||||
<div class="example"><h3>Simple Reverse Proxy</h3><pre class="prettyprint lang-config">ProxyPass /app ajp://backend.example.com:8009/app</pre>
|
||||
<div class="example"><h3>Simple Reverse Proxy</h3><pre class="prettyprint lang-config">ProxyPass "/app" "ajp://backend.example.com:8009/app"</pre>
|
||||
</div>
|
||||
|
||||
<p>Balancers may also be used:</p>
|
||||
@@ -80,7 +80,7 @@
|
||||
BalancerMember ajp://app2.example.com:8009 loadfactor=2
|
||||
ProxySet lbmethod=bytraffic
|
||||
</Proxy>
|
||||
ProxyPass /app balancer://cluster/app</pre>
|
||||
ProxyPass "/app" "balancer://cluster/app"</pre>
|
||||
</div>
|
||||
|
||||
<p>Note that usually no
|
||||
@@ -95,8 +95,8 @@ ProxyPass /app balancer://cluster/app</pre>
|
||||
backend. In this case, a redirect header can be rewritten relative to the
|
||||
original host URL (not the backend <code>ajp://</code> URL), for
|
||||
example:</p>
|
||||
<div class="example"><h3>Rewriting Proxied Path</h3><pre class="prettyprint lang-config">ProxyPass /apps/foo ajp://backend.example.com:8009/foo
|
||||
ProxyPassReverse /apps/foo http://www.example.com/foo</pre>
|
||||
<div class="example"><h3>Rewriting Proxied Path</h3><pre class="prettyprint lang-config">ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo"
|
||||
ProxyPassReverse "/apps/foo" "http://www.example.com/foo"</pre>
|
||||
</div>
|
||||
<p>However, it is usually better to deploy the application on the backend
|
||||
server at the same path as the proxy rather than to take this approach.
|
||||
|
@@ -57,7 +57,7 @@
|
||||
|
||||
<example><title>Simple Reverse Proxy</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /app ajp://backend.example.com:8009/app
|
||||
ProxyPass "/app" "ajp://backend.example.com:8009/app"
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
BalancerMember ajp://app2.example.com:8009 loadfactor=2
|
||||
ProxySet lbmethod=bytraffic
|
||||
</Proxy>
|
||||
ProxyPass /app balancer://cluster/app
|
||||
ProxyPass "/app" "balancer://cluster/app"
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
@@ -87,8 +87,8 @@ ProxyPass /app balancer://cluster/app
|
||||
example:</p>
|
||||
<example><title>Rewriting Proxied Path</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /apps/foo ajp://backend.example.com:8009/foo
|
||||
ProxyPassReverse /apps/foo http://www.example.com/foo
|
||||
ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo"
|
||||
ProxyPassReverse "/apps/foo" "http://www.example.com/foo"
|
||||
</highlight>
|
||||
</example>
|
||||
<p>However, it is usually better to deploy the application on the backend
|
||||
|
@@ -112,8 +112,8 @@
|
||||
BalancerMember http://192.168.1.50:80
|
||||
BalancerMember http://192.168.1.51:80
|
||||
</Proxy>
|
||||
ProxyPass /test balancer://mycluster
|
||||
ProxyPassReverse /test balancer://mycluster</pre>
|
||||
ProxyPass "/test" "balancer://mycluster"
|
||||
ProxyPassReverse "/test" "balancer://mycluster"</pre>
|
||||
|
||||
|
||||
<p>Another example of how to provide load balancing with stickyness
|
||||
@@ -127,8 +127,8 @@ ProxyPassReverse /test balancer://mycluster</pre>
|
||||
BalancerMember http://192.168.1.51:80 route=2
|
||||
ProxySet stickysession=ROUTEID
|
||||
</Proxy>
|
||||
ProxyPass /test balancer://mycluster
|
||||
ProxyPassReverse /test balancer://mycluster</pre>
|
||||
ProxyPass "/test" "balancer://mycluster"
|
||||
ProxyPassReverse "/test" "balancer://mycluster"</pre>
|
||||
|
||||
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||||
<div class="section">
|
||||
@@ -262,7 +262,7 @@ ProxyPassReverse /test balancer://mycluster</pre>
|
||||
<p>Finally you can support cookies and URL encoding at the same time, by
|
||||
configuring the name of the cookie and the name of the URL parameter
|
||||
separated by a vertical bar (<code>|</code>) as in the following example:</p>
|
||||
<pre class="prettyprint lang-config">ProxyPass /test balancer://mycluster stickysession=JSESSIONID|jsessionid scolonpathdelim=On
|
||||
<pre class="prettyprint lang-config">ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
|
||||
<Proxy balancer://mycluster>
|
||||
BalancerMember http://192.168.1.50:80 route=node1
|
||||
BalancerMember http://192.168.1.51:80 route=node2
|
||||
|
@@ -95,8 +95,8 @@
|
||||
BalancerMember http://192.168.1.50:80
|
||||
BalancerMember http://192.168.1.51:80
|
||||
</Proxy>
|
||||
ProxyPass /test balancer://mycluster
|
||||
ProxyPassReverse /test balancer://mycluster
|
||||
ProxyPass "/test" "balancer://mycluster"
|
||||
ProxyPassReverse "/test" "balancer://mycluster"
|
||||
</highlight>
|
||||
|
||||
<p>Another example of how to provide load balancing with stickyness
|
||||
@@ -111,8 +111,8 @@ Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_
|
||||
BalancerMember http://192.168.1.51:80 route=2
|
||||
ProxySet stickysession=ROUTEID
|
||||
</Proxy>
|
||||
ProxyPass /test balancer://mycluster
|
||||
ProxyPassReverse /test balancer://mycluster
|
||||
ProxyPass "/test" "balancer://mycluster"
|
||||
ProxyPassReverse "/test" "balancer://mycluster"
|
||||
</highlight>
|
||||
</section>
|
||||
|
||||
@@ -248,7 +248,7 @@ ProxyPassReverse /test balancer://mycluster
|
||||
configuring the name of the cookie and the name of the URL parameter
|
||||
separated by a vertical bar (<code>|</code>) as in the following example:</p>
|
||||
<highlight language="config">
|
||||
ProxyPass /test balancer://mycluster stickysession=JSESSIONID|jsessionid scolonpathdelim=On
|
||||
ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
|
||||
<Proxy balancer://mycluster>
|
||||
BalancerMember http://192.168.1.50:80 route=node1
|
||||
BalancerMember http://192.168.1.51:80 route=node2
|
||||
|
@@ -64,8 +64,8 @@
|
||||
<li>It emulates:
|
||||
<pre class="prettyprint lang-config"><VirtualHost *:80>
|
||||
ServerName front.end.server
|
||||
ProxyPass / back.end.server:port
|
||||
ProxyPassReverse / back.end.server:port
|
||||
ProxyPass "/" "back.end.server:port"
|
||||
ProxyPassReverse "/" "back.end.server:port"
|
||||
</VirtualHost></pre>
|
||||
|
||||
That is, the entire URL is appended to the mapped backend
|
||||
|
@@ -64,8 +64,8 @@
|
||||
<highlight language="config">
|
||||
<VirtualHost *:80>
|
||||
ServerName front.end.server
|
||||
ProxyPass / back.end.server:port
|
||||
ProxyPassReverse / back.end.server:port
|
||||
ProxyPass "/" "back.end.server:port"
|
||||
ProxyPassReverse "/" "back.end.server:port"
|
||||
</VirtualHost>
|
||||
</highlight>
|
||||
That is, the entire URL is appended to the mapped backend
|
||||
|
@@ -74,7 +74,7 @@
|
||||
<p>Remember, in order to make the following examples work, you have to
|
||||
enable <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>.</p>
|
||||
|
||||
<div class="example"><h3>Single application instance</h3><pre class="prettyprint lang-config">ProxyPass /myapp/ fcgi://localhost:4000/</pre>
|
||||
<div class="example"><h3>Single application instance</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/"</pre>
|
||||
</div>
|
||||
|
||||
<p> <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> disables connection reuse by
|
||||
@@ -84,14 +84,14 @@
|
||||
from httpd, you can opt-in to connection reuse as shown in the following
|
||||
example:</p>
|
||||
|
||||
<div class="example"><h3>Single application instance, connection reuse</h3><pre class="prettyprint lang-config">ProxyPass /myapp/ fcgi://localhost:4000/ enablereuse=on</pre>
|
||||
<div class="example"><h3>Single application instance, connection reuse</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on</pre>
|
||||
</div>
|
||||
|
||||
<p> The following example passes the request URI as a filesystem
|
||||
path for the PHP-FPM daemon to run. The request URL is implicitly added
|
||||
to the 2nd parameter. The hostname and port following fcgi:// are where
|
||||
PHP-FPM is listening. Connection pooling is enabled.</p>
|
||||
<div class="example"><h3>PHP-FPM</h3><pre class="prettyprint lang-config">ProxyPassMatch ^/myapp/.*\.php(/.*)?$ fcgi://localhost:9000/var/www/ enablereuse=on</pre>
|
||||
<div class="example"><h3>PHP-FPM</h3><pre class="prettyprint lang-config">ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on</pre>
|
||||
</div>
|
||||
|
||||
<p> The following example passes the request URI as a filesystem
|
||||
@@ -99,7 +99,7 @@
|
||||
a unix domain socket (UDS). Requires 2.4.9 or later. With this syntax,
|
||||
the hostname and optional port following fcgi:// are ignored.</p>
|
||||
<div class="example"><h3>PHP-FPM with UDS</h3><pre class="prettyprint lang-config"> # UDS does not currently support connection reuse
|
||||
ProxyPassMatch ^/(.*\.php(/.*)?)$ "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"</pre>
|
||||
ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"</pre>
|
||||
</div>
|
||||
|
||||
<p>The balanced gateway needs <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and
|
||||
@@ -108,7 +108,7 @@
|
||||
modules listed above. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> is the
|
||||
default, and will be used for this example configuration.</p>
|
||||
|
||||
<div class="example"><h3>Balanced gateway to multiple application instances</h3><pre class="prettyprint lang-config">ProxyPass /myapp/ balancer://myappcluster/
|
||||
<div class="example"><h3>Balanced gateway to multiple application instances</h3><pre class="prettyprint lang-config">ProxyPass "/myapp/" "balancer://myappcluster/"
|
||||
<Proxy balancer://myappcluster/>
|
||||
BalancerMember fcgi://localhost:4000
|
||||
BalancerMember fcgi://localhost:4001
|
||||
|
@@ -65,8 +65,8 @@
|
||||
|
||||
<example><title>Single application instance</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /myapp/ fcgi://localhost:4000/
|
||||
</highlight>
|
||||
ProxyPass "/myapp/" "fcgi://localhost:4000/"
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
<p> <module>mod_proxy_fcgi</module> disables connection reuse by
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
<example><title>Single application instance, connection reuse</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /myapp/ fcgi://localhost:4000/ enablereuse=on
|
||||
ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
PHP-FPM is listening. Connection pooling is enabled.</p>
|
||||
<example><title>PHP-FPM</title>
|
||||
<highlight language="config">
|
||||
ProxyPassMatch ^/myapp/.*\.php(/.*)?$ fcgi://localhost:9000/var/www/ enablereuse=on
|
||||
ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
<example><title>PHP-FPM with UDS</title>
|
||||
<highlight language="config">
|
||||
# UDS does not currently support connection reuse
|
||||
ProxyPassMatch ^/(.*\.php(/.*)?)$ "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"
|
||||
ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm.sock|fcgi://localhost/var/www/"
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
<example><title>Balanced gateway to multiple application instances</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /myapp/ balancer://myappcluster/
|
||||
ProxyPass "/myapp/" "balancer://myappcluster/"
|
||||
<Proxy balancer://myappcluster/>
|
||||
BalancerMember fcgi://localhost:4000
|
||||
BalancerMember fcgi://localhost:4001
|
||||
|
@@ -66,7 +66,7 @@
|
||||
<p>Remember, in order to make the following examples work, you have to
|
||||
enable <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>.</p>
|
||||
|
||||
<div class="example"><h3>Simple gateway</h3><pre class="prettyprint lang-config">ProxyPass /scgi-bin/ scgi://localhost:4000/</pre>
|
||||
<div class="example"><h3>Simple gateway</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "scgi://localhost:4000/"</pre>
|
||||
</div>
|
||||
|
||||
<p>The balanced gateway needs <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and
|
||||
@@ -75,7 +75,7 @@
|
||||
modules listed above. <code class="module"><a href="../mod/mod_lbmethod_byrequests.html">mod_lbmethod_byrequests</a></code> is the
|
||||
default, and will be used for this example configuration.</p>
|
||||
|
||||
<div class="example"><h3>Balanced gateway</h3><pre class="prettyprint lang-config">ProxyPass /scgi-bin/ balancer://somecluster/
|
||||
<div class="example"><h3>Balanced gateway</h3><pre class="prettyprint lang-config">ProxyPass "/scgi-bin/" "balancer://somecluster/"
|
||||
<Proxy balancer://somecluster>
|
||||
BalancerMember scgi://localhost:4000
|
||||
BalancerMember scgi://localhost:4001
|
||||
|
@@ -55,7 +55,7 @@
|
||||
|
||||
<example><title>Simple gateway</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /scgi-bin/ scgi://localhost:4000/
|
||||
ProxyPass "/scgi-bin/" "scgi://localhost:4000/"
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
<example><title>Balanced gateway</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /scgi-bin/ balancer://somecluster/
|
||||
ProxyPass "/scgi-bin/" "balancer://somecluster/"
|
||||
<Proxy balancer://somecluster>
|
||||
BalancerMember scgi://localhost:4000
|
||||
BalancerMember scgi://localhost:4001
|
||||
|
@@ -43,8 +43,8 @@ Connection: Upgrade</pre>
|
||||
|
||||
|
||||
|
||||
<div class="example"><h3>Proxying requests to websockets server</h3><pre class="prettyprint lang-config">ProxyPass /ws2/ ws://echo.websocket.org/
|
||||
ProxyPass /wss2/ wss://echo.websocket.org/</pre>
|
||||
<div class="example"><h3>Proxying requests to websockets server</h3><pre class="prettyprint lang-config">ProxyPass "/ws2/" "ws://echo.websocket.org/"
|
||||
ProxyPass "/wss2/" "wss://echo.websocket.org/"</pre>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@@ -44,8 +44,8 @@ Connection: Upgrade
|
||||
|
||||
<example><title>Proxying requests to websockets server</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /ws2/ ws://echo.websocket.org/
|
||||
ProxyPass /wss2/ wss://echo.websocket.org/
|
||||
ProxyPass "/ws2/" "ws://echo.websocket.org/"
|
||||
ProxyPass "/wss2/" "wss://echo.websocket.org/"
|
||||
</highlight>
|
||||
</example>
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||
<!-- English Revision: 1668875:1673908 (outdated) -->
|
||||
<!-- English Revision: 1668875:1673917 (outdated) -->
|
||||
<!-- French translation : Lucien GENTIS -->
|
||||
<!-- Reviewed by : Vincent Deffontaines -->
|
||||
|
||||
|
@@ -112,8 +112,8 @@
|
||||
<p>In this case, <code>mod_substutite</code> can be used to rewrite
|
||||
those URLs into something that will work from the front end:</p>
|
||||
|
||||
<div class="example"><h3>Rewriting URLs embedded in proxied content</h3><pre class="prettyprint lang-config">ProxyPass /blog/ http://internal.blog.example.com
|
||||
ProxyPassReverse /blog/ http://internal.blog.example.com/
|
||||
<div class="example"><h3>Rewriting URLs embedded in proxied content</h3><pre class="prettyprint lang-config">ProxyPass "/blog/" "http://internal.blog.example.com"
|
||||
ProxyPassReverse "/blog/" "http://internal.blog.example.com/"
|
||||
|
||||
Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"</pre>
|
||||
</div>
|
||||
|
@@ -113,8 +113,8 @@
|
||||
|
||||
<example><title>Rewriting URLs embedded in proxied content</title>
|
||||
<highlight language="config">
|
||||
ProxyPass /blog/ http://internal.blog.example.com
|
||||
ProxyPassReverse /blog/ http://internal.blog.example.com/
|
||||
ProxyPass "/blog/" "http://internal.blog.example.com"
|
||||
ProxyPassReverse "/blog/" "http://internal.blog.example.com/"
|
||||
|
||||
Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"
|
||||
</highlight>
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||||
<!-- English Revision: 1174747:1346943 (outdated) -->
|
||||
<!-- English Revision: 1174747:1673917 (outdated) -->
|
||||
<!-- =====================================================
|
||||
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||
Reviewed by: Orhan Berent <berent belgeler.org>
|
||||
|
@@ -59,7 +59,7 @@ A number of recipes are provided that describe common scenarios.</p>
|
||||
<pre class="prettyprint lang-config">RewriteEngine on
|
||||
RewriteBase /products/
|
||||
RewriteRule ^widget/(.*)$ http://product.example.com/widget/$1 [P]
|
||||
ProxyPassReverse /products/widget/ http://product.example.com/widget/</pre>
|
||||
ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"</pre>
|
||||
|
||||
|
||||
<p>In the second example, we proxy the request only if we can't find
|
||||
@@ -70,7 +70,7 @@ ProxyPassReverse /products/widget/ http://product.example.com/widget/</pre>
|
||||
<pre class="prettyprint lang-config">RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^/(.*) http://old.example.com/$1 [P]
|
||||
ProxyPassReverse / http://old.example.com/</pre>
|
||||
ProxyPassReverse "/" "http://old.example.com/"</pre>
|
||||
|
||||
</dd>
|
||||
|
||||
|
@@ -69,7 +69,7 @@ A number of recipes are provided that describe common scenarios.</p>
|
||||
RewriteEngine on
|
||||
RewriteBase /products/
|
||||
RewriteRule ^widget/(.*)$ http://product.example.com/widget/$1 [P]
|
||||
ProxyPassReverse /products/widget/ http://product.example.com/widget/
|
||||
ProxyPassReverse "/products/widget/" "http://product.example.com/widget/"
|
||||
</highlight>
|
||||
|
||||
<p>In the second example, we proxy the request only if we can't find
|
||||
@@ -81,7 +81,7 @@ ProxyPassReverse /products/widget/ http://product.example.com/widget/
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^/(.*) http://old.example.com/$1 [P]
|
||||
ProxyPassReverse / http://old.example.com/
|
||||
ProxyPassReverse "/" "http://old.example.com/"
|
||||
</highlight>
|
||||
</dd>
|
||||
|
||||
|
@@ -220,8 +220,8 @@ Alias "/foo" "/srv/www/common/foo"</pre>
|
||||
|
||||
<p>The same is true for the <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code>
|
||||
directives:</p>
|
||||
<pre class="prettyprint lang-config">ProxyPass /special-area http://special.example.com smax=5 max=10
|
||||
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On</pre>
|
||||
<pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
|
||||
ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On</pre>
|
||||
|
||||
|
||||
|
||||
|
@@ -251,8 +251,8 @@ Alias "/foo" "/srv/www/common/foo"
|
||||
<p>The same is true for the <directive module="mod_proxy">ProxyPass</directive>
|
||||
directives:</p>
|
||||
<highlight language="config">
|
||||
ProxyPass /special-area http://special.example.com smax=5 max=10
|
||||
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
|
||||
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
|
||||
ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
|
||||
</highlight>
|
||||
</section>
|
||||
|
||||
|
@@ -233,10 +233,10 @@ 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>
|
||||
|
||||
<pre class="prettyprint lang-config">ProxyPass /foo/ http://internal.example.com/bar/<br />
|
||||
ProxyPassReverse /foo/ http://internal.example.com/bar/<br />
|
||||
<pre class="prettyprint lang-config">ProxyPass "/foo/" "http://internal.example.com/bar/"<br />
|
||||
ProxyPassReverse "/foo/" "http://internal.example.com/bar/"<br />
|
||||
ProxyPassReverseCookieDomain internal.example.com public.example.com<br />
|
||||
ProxyPassReverseCookiePath /foo/ /bar/</pre>
|
||||
ProxyPassReverseCookiePath "/foo/" "/bar/"</pre>
|
||||
|
||||
|
||||
<p>The <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> configures
|
||||
|
@@ -269,10 +269,10 @@ and returns them to the client as if they were from the local
|
||||
server.</p>
|
||||
|
||||
<highlight language="config">
|
||||
ProxyPass /foo/ http://internal.example.com/bar/<br />
|
||||
ProxyPassReverse /foo/ http://internal.example.com/bar/<br />
|
||||
ProxyPass "/foo/" "http://internal.example.com/bar/"<br />
|
||||
ProxyPassReverse "/foo/" "http://internal.example.com/bar/"<br />
|
||||
ProxyPassReverseCookieDomain internal.example.com public.example.com<br />
|
||||
ProxyPassReverseCookiePath /foo/ /bar/
|
||||
ProxyPassReverseCookiePath "/foo/" "/bar/"
|
||||
</highlight>
|
||||
|
||||
<p>The <directive module="mod_proxy">ProxyPass</directive> configures
|
||||
|
@@ -353,8 +353,8 @@ Listen 172.20.30.50:8080
|
||||
|
||||
<pre class="prettyprint lang-config"><VirtualHost *:*>
|
||||
ProxyPreserveHost On
|
||||
ProxyPass / http://192.168.111.2/
|
||||
ProxyPassReverse / http://192.168.111.2/
|
||||
ProxyPass "/" "http://192.168.111.2/"
|
||||
ProxyPassReverse "/" "http://192.168.111.2/"
|
||||
ServerName hostname.example.com
|
||||
</VirtualHost></pre>
|
||||
|
||||
|
@@ -27,6 +27,8 @@
|
||||
<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
|
||||
<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="T<>rk<72>e"> tr </a></p>
|
||||
</div>
|
||||
<div class="outofdate">Cette traduction peut <20>tre p<>rim<69>e. V<>rifiez la version
|
||||
anglaise pour les changements r<>cents.</div>
|
||||
|
||||
|
||||
<p>Le but de ce document est d'essayer de r<>pondre aux questions
|
||||
|
@@ -337,8 +337,8 @@ Listen 80
|
||||
<highlight language="config">
|
||||
<VirtualHost *:*>
|
||||
ProxyPreserveHost On
|
||||
ProxyPass / http://192.168.111.2/
|
||||
ProxyPassReverse / http://192.168.111.2/
|
||||
ProxyPass "/" "http://192.168.111.2/"
|
||||
ProxyPassReverse "/" "http://192.168.111.2/"
|
||||
ServerName hostname.example.com
|
||||
</VirtualHost>
|
||||
</highlight>
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='ISO-8859-1' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||
<!-- English Revision: 1628690 -->
|
||||
<!-- English Revision: 1628690:1673917 (outdated) -->
|
||||
<!-- French translation by Vincent Deffontaines, Alain B. -->
|
||||
<!-- reviewed by Lucien Gentis -->
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
|
||||
<!-- English Revision: 659902:1628690 (outdated) -->
|
||||
<!-- English Revision: 659902:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='EUC-KR' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
||||
<!-- English Revision: 105989:1628690 (outdated) -->
|
||||
<!-- English Revision: 105989:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -8,7 +8,7 @@
|
||||
|
||||
<variants>
|
||||
<variant>en</variant>
|
||||
<variant>fr</variant>
|
||||
<variant outdated="yes">fr</variant>
|
||||
<variant outdated="yes">ja</variant>
|
||||
<variant outdated="yes">ko</variant>
|
||||
<variant outdated="yes">tr</variant>
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||||
<!-- English Revision: 1132802:1628690 (outdated) -->
|
||||
<!-- English Revision: 1132802:1673917 (outdated) -->
|
||||
<!-- =====================================================
|
||||
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||
Reviewed by: Orhan Berent <berent belgeler.org>
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||
<!-- English Revision: 1436578:1673892 (outdated) -->
|
||||
<!-- English Revision: 1436578:1673917 (outdated) -->
|
||||
<!-- French translation : Lucien GENTIS -->
|
||||
|
||||
<!--
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='EUC-KR' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
||||
<!-- English Revision: 151408:1673892 (outdated) -->
|
||||
<!-- English Revision: 151408:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||||
<!-- English Revision: 1174747:1673892 (outdated) -->
|
||||
<!-- English Revision: 1174747:1673917 (outdated) -->
|
||||
<!-- =====================================================
|
||||
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||
Reviewed by: Orhan Berent <berent belgeler.org>
|
||||
|
@@ -28,6 +28,8 @@
|
||||
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
|
||||
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="T<>rk<72>e"> tr </a></p>
|
||||
</div>
|
||||
<div class="outofdate">Cette traduction peut <20>tre p<>rim<69>e. V<>rifiez la version
|
||||
anglaise pour les changements r<>cents.</div>
|
||||
|
||||
<p>Ce document d<>crit quand et comment utiliser des serveurs
|
||||
virtuels par nom.</p>
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
|
||||
<!-- English Revision: 420990:1647229 (outdated) -->
|
||||
<!-- English Revision: 420990:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='ISO-8859-1' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||
<!-- English Revision: 1647229 -->
|
||||
<!-- English Revision: 1647229:1673917 (outdated) -->
|
||||
<!-- French translation by alain B, review by Vincent Deffontaines
|
||||
updated by Lucien GENTIS -->
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
|
||||
<!-- English Revision: 420990:1647229 (outdated) -->
|
||||
<!-- English Revision: 420990:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='EUC-KR' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
||||
<!-- English Revision: 420990:1647229 (outdated) -->
|
||||
<!-- English Revision: 420990:1673917 (outdated) -->
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<variants>
|
||||
<variant outdated="yes">de</variant>
|
||||
<variant>en</variant>
|
||||
<variant>fr</variant>
|
||||
<variant outdated="yes">fr</variant>
|
||||
<variant outdated="yes">ja</variant>
|
||||
<variant outdated="yes">ko</variant>
|
||||
<variant outdated="yes">tr</variant>
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||||
<!-- English Revision: 1301398:1647229 (outdated) -->
|
||||
<!-- English Revision: 1301398:1673917 (outdated) -->
|
||||
<!-- =====================================================
|
||||
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||
Reviewed by: Orhan Berent <berent belgeler.org>
|
||||
|
Reference in New Issue
Block a user