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" ?>
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||||
<!-- English Revision: 1336196:1673892 (outdated) -->
|
<!-- English Revision: 1336196:1673917 (outdated) -->
|
||||||
<!-- French translation : Lucien GENTIS -->
|
<!-- French translation : Lucien GENTIS -->
|
||||||
<!-- Reviewed by : Vincent Deffontaines -->
|
<!-- Reviewed by : Vincent Deffontaines -->
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='EUC-KR' ?>
|
<?xml version='1.0' encoding='EUC-KR' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||||
<!-- English Revision: 1379836:1673892 (outdated) -->
|
<!-- English Revision: 1379836:1673917 (outdated) -->
|
||||||
<!-- French translation : Lucien GENTIS -->
|
<!-- French translation : Lucien GENTIS -->
|
||||||
<!-- Reviewed by : Vincent Deffontaines -->
|
<!-- Reviewed by : Vincent Deffontaines -->
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="EUC-KR" ?>
|
<?xml version="1.0" encoding="EUC-KR" ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
<?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>
|
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||||
Reviewed by: Orhan Berent <berent belgeler.org>
|
Reviewed by: Orhan Berent <berent belgeler.org>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||||
<!-- English Revision: 1664071:1673892 (outdated) -->
|
<!-- English Revision: 1664071:1673917 (outdated) -->
|
||||||
<!-- French translation : Lucien GENTIS -->
|
<!-- French translation : Lucien GENTIS -->
|
||||||
<!-- Reviewed by : Vincent Deffontaines -->
|
<!-- Reviewed by : Vincent Deffontaines -->
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
<?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>
|
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||||
Reviewed by: Orhan Berent <berent 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>
|
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">
|
<pre class="prettyprint lang-config"><Location "/dav-area">
|
||||||
ProxyPass http://example.com/
|
ProxyPass "http://example.com/"
|
||||||
SetOutputFilter INFLATE
|
SetOutputFilter INFLATE
|
||||||
</Location></pre>
|
</Location></pre>
|
||||||
|
|
||||||
|
@@ -105,7 +105,7 @@ SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
|
|||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
<Location "/dav-area">
|
<Location "/dav-area">
|
||||||
ProxyPass http://example.com/
|
ProxyPass "http://example.com/"
|
||||||
SetOutputFilter INFLATE
|
SetOutputFilter INFLATE
|
||||||
</Location>
|
</Location>
|
||||||
</highlight>
|
</highlight>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||||
<!-- English Revision: 1533274:1673892 (outdated) -->
|
<!-- English Revision: 1533274:1673917 (outdated) -->
|
||||||
<!-- French translation: Fabien Coelho -->
|
<!-- French translation: Fabien Coelho -->
|
||||||
<!-- Updated by Lucien Gentis -->
|
<!-- Updated by Lucien Gentis -->
|
||||||
|
|
||||||
|
@@ -202,8 +202,8 @@
|
|||||||
<p>In addition, if you wish to have caching enabled, consult
|
<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>
|
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
|
<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>
|
ProxyPassReverse "/foo" "http://foo.example.com/bar"</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="example"><h3>Forward Proxy</h3><pre class="prettyprint lang-config">ProxyRequests On
|
<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
|
<code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code> when used
|
||||||
for a reverse proxy:</p>
|
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
|
<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
|
<p>The URL identifying a direct worker is the URL of its
|
||||||
origin server including any path components given:</p>
|
origin server including any path components given:</p>
|
||||||
|
|
||||||
<pre class="prettyprint lang-config">ProxyPass /examples http://backend.example.com/examples
|
<pre class="prettyprint lang-config">ProxyPass "/examples" "http://backend.example.com/examples"
|
||||||
ProxyPass /docs http://backend.example.com/docs</pre>
|
ProxyPass "/docs" "http://backend.example.com/docs"</pre>
|
||||||
|
|
||||||
|
|
||||||
<p>This example defines two different workers, each using a separate
|
<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
|
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>
|
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
|
<pre class="prettyprint lang-config">ProxyPass "/apps" "http://backend.example.com/" timeout=60
|
||||||
ProxyPass /examples http://backend.example.com/examples timeout=10</pre>
|
ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre>
|
||||||
|
|
||||||
|
|
||||||
<p>the second worker isn't actually created. Instead the first
|
<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>
|
<code>proxy-nokeepalive</code> notes.</p>
|
||||||
|
|
||||||
<pre class="prettyprint lang-config"><Location "/buggyappserver/">
|
<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 force-proxy-request-1.0 1
|
||||||
SetEnv proxy-nokeepalive 1
|
SetEnv proxy-nokeepalive 1
|
||||||
</Location></pre>
|
</Location></pre>
|
||||||
@@ -1023,7 +1023,7 @@ through</td></tr>
|
|||||||
then</p>
|
then</p>
|
||||||
|
|
||||||
<pre class="prettyprint lang-config"><Location "/mirror/foo/">
|
<pre class="prettyprint lang-config"><Location "/mirror/foo/">
|
||||||
ProxyPass http://backend.example.com/
|
ProxyPass "http://backend.example.com/"
|
||||||
</Location></pre>
|
</Location></pre>
|
||||||
|
|
||||||
|
|
||||||
@@ -1036,7 +1036,7 @@ through</td></tr>
|
|||||||
the below syntax is that it allows for dynamic control via the
|
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>
|
<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">
|
<div class="warning">
|
||||||
@@ -1051,15 +1051,15 @@ through</td></tr>
|
|||||||
to reverse-proxy a subdirectory, <em>e.g.</em></p>
|
to reverse-proxy a subdirectory, <em>e.g.</em></p>
|
||||||
|
|
||||||
<pre class="prettyprint lang-config"><Location "/mirror/foo/">
|
<pre class="prettyprint lang-config"><Location "/mirror/foo/">
|
||||||
ProxyPass http://backend.example.com/
|
ProxyPass "http://backend.example.com/"
|
||||||
</Location>
|
</Location>
|
||||||
<Location "/mirror/foo/i">
|
<Location "/mirror/foo/i">
|
||||||
ProxyPass !
|
ProxyPass "!"
|
||||||
</Location></pre>
|
</Location></pre>
|
||||||
|
|
||||||
|
|
||||||
<pre class="prettyprint lang-config">ProxyPass /mirror/foo/i !
|
<pre class="prettyprint lang-config">ProxyPass "/mirror/foo/i" "!"
|
||||||
ProxyPass /mirror/foo http://backend.example.com</pre>
|
ProxyPass "/mirror/foo" "http://backend.example.com"</pre>
|
||||||
|
|
||||||
|
|
||||||
<p>will proxy all requests to <code>/mirror/foo</code> to
|
<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
|
among all child processes, except when only one child process is allowed
|
||||||
by configuration or MPM design.</p>
|
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>
|
</div>
|
||||||
|
|
||||||
<table class="bordered"><tr><th>BalancerMember parameters</th></tr></table>
|
<table class="bordered"><tr><th>BalancerMember parameters</th></tr></table>
|
||||||
@@ -1394,8 +1394,8 @@ ProxyPass /mirror/foo http://backend.example.com</pre>
|
|||||||
|
|
||||||
</table>
|
</table>
|
||||||
<p>A sample balancer setup</p>
|
<p>A sample balancer setup</p>
|
||||||
<pre class="prettyprint lang-config">ProxyPass /special-area http://special.example.com smax=5 max=10
|
<pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
|
||||||
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
|
ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
|
||||||
<Proxy balancer://mycluster>
|
<Proxy balancer://mycluster>
|
||||||
BalancerMember ajp://1.2.3.4:8009
|
BalancerMember ajp://1.2.3.4:8009
|
||||||
BalancerMember ajp://1.2.3.5:8009 loadfactor=20
|
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
|
<p>Setting up a hot-standby, that will only be used if no other
|
||||||
members are available</p>
|
members are available</p>
|
||||||
<pre class="prettyprint lang-config">ProxyPass / balancer://hotcluster/
|
<pre class="prettyprint lang-config">ProxyPass "/" "balancer://hotcluster/"
|
||||||
<Proxy balancer://hotcluster>
|
<Proxy balancer://hotcluster>
|
||||||
BalancerMember ajp://1.2.3.4:8009 loadfactor=1
|
BalancerMember ajp://1.2.3.4:8009 loadfactor=1
|
||||||
BalancerMember ajp://1.2.3.5:8009 loadfactor=2
|
BalancerMember ajp://1.2.3.5:8009 loadfactor=2
|
||||||
@@ -1460,8 +1460,8 @@ RewriteCond %{HTTPS} =on
|
|||||||
RewriteRule . - [E=protocol:https]
|
RewriteRule . - [E=protocol:https]
|
||||||
|
|
||||||
RewriteRule ^/mirror/foo/(.*) %{ENV:protocol}://backend.example.com/$1 [P]
|
RewriteRule ^/mirror/foo/(.*) %{ENV:protocol}://backend.example.com/$1 [P]
|
||||||
ProxyPassReverse /mirror/foo/ http://backend.example.com/
|
ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
|
||||||
ProxyPassReverse /mirror/foo/ https://backend.example.com/</pre>
|
ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"</pre>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</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>;
|
<p>Suppose the local server has address <code>http://example.com/</code>;
|
||||||
then</p>
|
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
|
<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
|
<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.
|
substitutions (as well as after). This limits the matches you can use.
|
||||||
For instance, if we had used</p>
|
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
|
<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),
|
at server startup. This is a bug (PR 46665 in the ASF bugzilla),
|
||||||
and the workaround is to reformulate the match:</p>
|
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>
|
</div>
|
||||||
<p>The <code>!</code> directive is useful in situations where you don't want
|
<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
|
<p>For example, suppose the local server has address
|
||||||
<code>http://example.com/</code>; then</p>
|
<code>http://example.com/</code>; then</p>
|
||||||
|
|
||||||
<pre class="prettyprint lang-config">ProxyPass /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/
|
ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
|
||||||
ProxyPassReverseCookieDomain backend.example.com public.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
|
<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
|
In the example given with
|
||||||
<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, the directive:
|
<code class="directive"><a href="#proxypassreverse">ProxyPassReverse</a></code>, the directive:
|
||||||
</p>
|
</p>
|
||||||
<pre class="prettyprint lang-config">ProxyPassReverseCookiePath / /mirror/foo/</pre>
|
<pre class="prettyprint lang-config">ProxyPassReverseCookiePath "/" "/mirror/foo/"</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
will rewrite a cookie with backend path <code>/</code> (or
|
will rewrite a cookie with backend path <code>/</code> (or
|
||||||
|
@@ -154,8 +154,8 @@
|
|||||||
|
|
||||||
<example><title>Reverse Proxy</title>
|
<example><title>Reverse Proxy</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /foo http://foo.example.com/bar
|
ProxyPass "/foo" "http://foo.example.com/bar"
|
||||||
ProxyPassReverse /foo http://foo.example.com/bar
|
ProxyPassReverse "/foo" "http://foo.example.com/bar"
|
||||||
</highlight>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
@@ -211,7 +211,7 @@ ProxyVia On
|
|||||||
for a reverse proxy:</p>
|
for a reverse proxy:</p>
|
||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /example http://backend.example.com connectiontimeout=5 timeout=30
|
ProxyPass "/example" "http://backend.example.com" connectiontimeout=5 timeout=30
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<p>This will create a worker associated with the origin server URL
|
<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>
|
origin server including any path components given:</p>
|
||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /examples http://backend.example.com/examples
|
ProxyPass "/examples" "http://backend.example.com/examples"
|
||||||
ProxyPass /docs http://backend.example.com/docs
|
ProxyPass "/docs" "http://backend.example.com/docs"
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<p>This example defines two different workers, each using a separate
|
<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>
|
worker defined later in the configuration file. In the following example</p>
|
||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /apps http://backend.example.com/ timeout=60
|
ProxyPass "/apps" "http://backend.example.com/" timeout=60
|
||||||
ProxyPass /examples http://backend.example.com/examples timeout=10
|
ProxyPass "/examples" "http://backend.example.com/examples" timeout=10
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<p>the second worker isn't actually created. Instead the first
|
<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">
|
<highlight language="config">
|
||||||
<Location "/buggyappserver/">
|
<Location "/buggyappserver/">
|
||||||
ProxyPass http://buggyappserver:7001/foo/
|
ProxyPass "http://buggyappserver:7001/foo/"
|
||||||
SetEnv force-proxy-request-1.0 1
|
SetEnv force-proxy-request-1.0 1
|
||||||
SetEnv proxy-nokeepalive 1
|
SetEnv proxy-nokeepalive 1
|
||||||
</Location>
|
</Location>
|
||||||
@@ -887,7 +887,7 @@ expressions</description>
|
|||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
<Location "/mirror/foo/">
|
<Location "/mirror/foo/">
|
||||||
ProxyPass http://backend.example.com/
|
ProxyPass "http://backend.example.com/"
|
||||||
</Location>
|
</Location>
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
@@ -901,7 +901,7 @@ expressions</description>
|
|||||||
<a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> interface:</p>
|
<a href="mod_proxy_balancer.html#balancer_manager">Balancer Manager</a> interface:</p>
|
||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /mirror/foo/ http://backend.example.com/
|
ProxyPass "/mirror/foo/" "http://backend.example.com/"
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<note type="warning">
|
<note type="warning">
|
||||||
@@ -917,16 +917,16 @@ expressions</description>
|
|||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
<Location "/mirror/foo/">
|
<Location "/mirror/foo/">
|
||||||
ProxyPass http://backend.example.com/
|
ProxyPass "http://backend.example.com/"
|
||||||
</Location>
|
</Location>
|
||||||
<Location "/mirror/foo/i">
|
<Location "/mirror/foo/i">
|
||||||
ProxyPass !
|
ProxyPass "!"
|
||||||
</Location>
|
</Location>
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /mirror/foo/i !
|
ProxyPass "/mirror/foo/i" "!"
|
||||||
ProxyPass /mirror/foo http://backend.example.com
|
ProxyPass "/mirror/foo" "http://backend.example.com"
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<p>will proxy all requests to <code>/mirror/foo</code> to
|
<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>
|
<example><title>Example</title>
|
||||||
<highlight language="config">
|
<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>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
@@ -1265,8 +1265,8 @@ ProxyPass /mirror/foo http://backend.example.com
|
|||||||
</table>
|
</table>
|
||||||
<p>A sample balancer setup</p>
|
<p>A sample balancer setup</p>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /special-area http://special.example.com smax=5 max=10
|
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
|
||||||
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
|
ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
|
||||||
<Proxy balancer://mycluster>
|
<Proxy balancer://mycluster>
|
||||||
BalancerMember ajp://1.2.3.4:8009
|
BalancerMember ajp://1.2.3.4:8009
|
||||||
BalancerMember ajp://1.2.3.5:8009 loadfactor=20
|
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
|
<p>Setting up a hot-standby, that will only be used if no other
|
||||||
members are available</p>
|
members are available</p>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass / balancer://hotcluster/
|
ProxyPass "/" "balancer://hotcluster/"
|
||||||
<Proxy balancer://hotcluster>
|
<Proxy balancer://hotcluster>
|
||||||
BalancerMember ajp://1.2.3.4:8009 loadfactor=1
|
BalancerMember ajp://1.2.3.4:8009 loadfactor=1
|
||||||
BalancerMember ajp://1.2.3.5:8009 loadfactor=2
|
BalancerMember ajp://1.2.3.5:8009 loadfactor=2
|
||||||
@@ -1337,8 +1337,8 @@ RewriteCond %{HTTPS} =on
|
|||||||
RewriteRule . - [E=protocol:https]
|
RewriteRule . - [E=protocol:https]
|
||||||
|
|
||||||
RewriteRule ^/mirror/foo/(.*) %{ENV:protocol}://backend.example.com/$1 [P]
|
RewriteRule ^/mirror/foo/(.*) %{ENV:protocol}://backend.example.com/$1 [P]
|
||||||
ProxyPassReverse /mirror/foo/ http://backend.example.com/
|
ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
|
||||||
ProxyPassReverse /mirror/foo/ https://backend.example.com/
|
ProxyPassReverse "/mirror/foo/" "https://backend.example.com/"
|
||||||
</highlight>
|
</highlight>
|
||||||
</usage>
|
</usage>
|
||||||
</directivesynopsis>
|
</directivesynopsis>
|
||||||
@@ -1366,7 +1366,7 @@ ProxyPassReverse /mirror/foo/ https://backend.example.com/
|
|||||||
then</p>
|
then</p>
|
||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com/$1
|
ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com/$1"
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<p>will cause a local request for
|
<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.
|
substitutions (as well as after). This limits the matches you can use.
|
||||||
For instance, if we had used</p>
|
For instance, if we had used</p>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com:8000$1
|
ProxyPassMatch "^(/.*\.gif)$" "http://backend.example.com:8000$1"
|
||||||
</highlight>
|
</highlight>
|
||||||
<p>in our previous example, it would fail with a syntax error
|
<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),
|
at server startup. This is a bug (PR 46665 in the ASF bugzilla),
|
||||||
and the workaround is to reformulate the match:</p>
|
and the workaround is to reformulate the match:</p>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com:8000/$1
|
ProxyPassMatch "^/(.*\.gif)$" "http://backend.example.com:8000/$1"
|
||||||
</highlight>
|
</highlight>
|
||||||
</note>
|
</note>
|
||||||
<p>The <code>!</code> directive is useful in situations where you don't want
|
<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>
|
<code>http://example.com/</code>; then</p>
|
||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /mirror/foo/ http://backend.example.com/
|
ProxyPass "/mirror/foo/" "http://backend.example.com/"
|
||||||
ProxyPassReverse /mirror/foo/ http://backend.example.com/
|
ProxyPassReverse "/mirror/foo/" "http://backend.example.com/"
|
||||||
ProxyPassReverseCookieDomain backend.example.com public.example.com
|
ProxyPassReverseCookieDomain backend.example.com public.example.com
|
||||||
ProxyPassReverseCookiePath / /mirror/foo/
|
ProxyPassReverseCookiePath "/" "/mirror/foo/"
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<p>will not only cause a local request for the
|
<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:
|
<directive module="mod_proxy">ProxyPassReverse</directive>, the directive:
|
||||||
</p>
|
</p>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPassReverseCookiePath / /mirror/foo/
|
ProxyPassReverseCookiePath "/" "/mirror/foo/"
|
||||||
</highlight>
|
</highlight>
|
||||||
<p>
|
<p>
|
||||||
will rewrite a cookie with backend path <code>/</code> (or
|
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
|
(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>
|
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>
|
</div>
|
||||||
|
|
||||||
<p>Balancers may also be used:</p>
|
<p>Balancers may also be used:</p>
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
BalancerMember ajp://app2.example.com:8009 loadfactor=2
|
BalancerMember ajp://app2.example.com:8009 loadfactor=2
|
||||||
ProxySet lbmethod=bytraffic
|
ProxySet lbmethod=bytraffic
|
||||||
</Proxy>
|
</Proxy>
|
||||||
ProxyPass /app balancer://cluster/app</pre>
|
ProxyPass "/app" "balancer://cluster/app"</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>Note that usually no
|
<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
|
backend. In this case, a redirect header can be rewritten relative to the
|
||||||
original host URL (not the backend <code>ajp://</code> URL), for
|
original host URL (not the backend <code>ajp://</code> URL), for
|
||||||
example:</p>
|
example:</p>
|
||||||
<div class="example"><h3>Rewriting Proxied Path</h3><pre class="prettyprint lang-config">ProxyPass /apps/foo ajp://backend.example.com:8009/foo
|
<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>
|
ProxyPassReverse "/apps/foo" "http://www.example.com/foo"</pre>
|
||||||
</div>
|
</div>
|
||||||
<p>However, it is usually better to deploy the application on the backend
|
<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.
|
server at the same path as the proxy rather than to take this approach.
|
||||||
|
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
<example><title>Simple Reverse Proxy</title>
|
<example><title>Simple Reverse Proxy</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /app ajp://backend.example.com:8009/app
|
ProxyPass "/app" "ajp://backend.example.com:8009/app"
|
||||||
</highlight>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
BalancerMember ajp://app2.example.com:8009 loadfactor=2
|
BalancerMember ajp://app2.example.com:8009 loadfactor=2
|
||||||
ProxySet lbmethod=bytraffic
|
ProxySet lbmethod=bytraffic
|
||||||
</Proxy>
|
</Proxy>
|
||||||
ProxyPass /app balancer://cluster/app
|
ProxyPass "/app" "balancer://cluster/app"
|
||||||
</highlight>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
@@ -87,8 +87,8 @@ ProxyPass /app balancer://cluster/app
|
|||||||
example:</p>
|
example:</p>
|
||||||
<example><title>Rewriting Proxied Path</title>
|
<example><title>Rewriting Proxied Path</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /apps/foo ajp://backend.example.com:8009/foo
|
ProxyPass "/apps/foo" "ajp://backend.example.com:8009/foo"
|
||||||
ProxyPassReverse /apps/foo http://www.example.com/foo
|
ProxyPassReverse "/apps/foo" "http://www.example.com/foo"
|
||||||
</highlight>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
<p>However, it is usually better to deploy the application on the backend
|
<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.50:80
|
||||||
BalancerMember http://192.168.1.51:80
|
BalancerMember http://192.168.1.51:80
|
||||||
</Proxy>
|
</Proxy>
|
||||||
ProxyPass /test balancer://mycluster
|
ProxyPass "/test" "balancer://mycluster"
|
||||||
ProxyPassReverse /test balancer://mycluster</pre>
|
ProxyPassReverse "/test" "balancer://mycluster"</pre>
|
||||||
|
|
||||||
|
|
||||||
<p>Another example of how to provide load balancing with stickyness
|
<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
|
BalancerMember http://192.168.1.51:80 route=2
|
||||||
ProxySet stickysession=ROUTEID
|
ProxySet stickysession=ROUTEID
|
||||||
</Proxy>
|
</Proxy>
|
||||||
ProxyPass /test balancer://mycluster
|
ProxyPass "/test" "balancer://mycluster"
|
||||||
ProxyPassReverse /test balancer://mycluster</pre>
|
ProxyPassReverse "/test" "balancer://mycluster"</pre>
|
||||||
|
|
||||||
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||||||
<div class="section">
|
<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
|
<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
|
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>
|
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>
|
<Proxy balancer://mycluster>
|
||||||
BalancerMember http://192.168.1.50:80 route=node1
|
BalancerMember http://192.168.1.50:80 route=node1
|
||||||
BalancerMember http://192.168.1.51:80 route=node2
|
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.50:80
|
||||||
BalancerMember http://192.168.1.51:80
|
BalancerMember http://192.168.1.51:80
|
||||||
</Proxy>
|
</Proxy>
|
||||||
ProxyPass /test balancer://mycluster
|
ProxyPass "/test" "balancer://mycluster"
|
||||||
ProxyPassReverse /test balancer://mycluster
|
ProxyPassReverse "/test" "balancer://mycluster"
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<p>Another example of how to provide load balancing with stickyness
|
<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
|
BalancerMember http://192.168.1.51:80 route=2
|
||||||
ProxySet stickysession=ROUTEID
|
ProxySet stickysession=ROUTEID
|
||||||
</Proxy>
|
</Proxy>
|
||||||
ProxyPass /test balancer://mycluster
|
ProxyPass "/test" "balancer://mycluster"
|
||||||
ProxyPassReverse /test balancer://mycluster
|
ProxyPassReverse "/test" "balancer://mycluster"
|
||||||
</highlight>
|
</highlight>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -248,7 +248,7 @@ ProxyPassReverse /test balancer://mycluster
|
|||||||
configuring the name of the cookie and the name of the URL parameter
|
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>
|
separated by a vertical bar (<code>|</code>) as in the following example:</p>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /test balancer://mycluster stickysession=JSESSIONID|jsessionid scolonpathdelim=On
|
ProxyPass "/test" "balancer://mycluster" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
|
||||||
<Proxy balancer://mycluster>
|
<Proxy balancer://mycluster>
|
||||||
BalancerMember http://192.168.1.50:80 route=node1
|
BalancerMember http://192.168.1.50:80 route=node1
|
||||||
BalancerMember http://192.168.1.51:80 route=node2
|
BalancerMember http://192.168.1.51:80 route=node2
|
||||||
|
@@ -64,8 +64,8 @@
|
|||||||
<li>It emulates:
|
<li>It emulates:
|
||||||
<pre class="prettyprint lang-config"><VirtualHost *:80>
|
<pre class="prettyprint lang-config"><VirtualHost *:80>
|
||||||
ServerName front.end.server
|
ServerName front.end.server
|
||||||
ProxyPass / back.end.server:port
|
ProxyPass "/" "back.end.server:port"
|
||||||
ProxyPassReverse / back.end.server:port
|
ProxyPassReverse "/" "back.end.server:port"
|
||||||
</VirtualHost></pre>
|
</VirtualHost></pre>
|
||||||
|
|
||||||
That is, the entire URL is appended to the mapped backend
|
That is, the entire URL is appended to the mapped backend
|
||||||
|
@@ -64,8 +64,8 @@
|
|||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName front.end.server
|
ServerName front.end.server
|
||||||
ProxyPass / back.end.server:port
|
ProxyPass "/" "back.end.server:port"
|
||||||
ProxyPassReverse / back.end.server:port
|
ProxyPassReverse "/" "back.end.server:port"
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
</highlight>
|
</highlight>
|
||||||
That is, the entire URL is appended to the mapped backend
|
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
|
<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>
|
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>
|
</div>
|
||||||
|
|
||||||
<p> <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> disables connection reuse by
|
<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
|
from httpd, you can opt-in to connection reuse as shown in the following
|
||||||
example:</p>
|
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>
|
</div>
|
||||||
|
|
||||||
<p> The following example passes the request URI as a filesystem
|
<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
|
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
|
to the 2nd parameter. The hostname and port following fcgi:// are where
|
||||||
PHP-FPM is listening. Connection pooling is enabled.</p>
|
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>
|
</div>
|
||||||
|
|
||||||
<p> The following example passes the request URI as a filesystem
|
<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,
|
a unix domain socket (UDS). Requires 2.4.9 or later. With this syntax,
|
||||||
the hostname and optional port following fcgi:// are ignored.</p>
|
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
|
<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>
|
</div>
|
||||||
|
|
||||||
<p>The balanced gateway needs <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and
|
<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
|
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>
|
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/>
|
<Proxy balancer://myappcluster/>
|
||||||
BalancerMember fcgi://localhost:4000
|
BalancerMember fcgi://localhost:4000
|
||||||
BalancerMember fcgi://localhost:4001
|
BalancerMember fcgi://localhost:4001
|
||||||
|
@@ -65,7 +65,7 @@
|
|||||||
|
|
||||||
<example><title>Single application instance</title>
|
<example><title>Single application instance</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /myapp/ fcgi://localhost:4000/
|
ProxyPass "/myapp/" "fcgi://localhost:4000/"
|
||||||
</highlight>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
|
|
||||||
<example><title>Single application instance, connection reuse</title>
|
<example><title>Single application instance, connection reuse</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /myapp/ fcgi://localhost:4000/ enablereuse=on
|
ProxyPass "/myapp/" "fcgi://localhost:4000/" enablereuse=on
|
||||||
</highlight>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
PHP-FPM is listening. Connection pooling is enabled.</p>
|
PHP-FPM is listening. Connection pooling is enabled.</p>
|
||||||
<example><title>PHP-FPM</title>
|
<example><title>PHP-FPM</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPassMatch ^/myapp/.*\.php(/.*)?$ fcgi://localhost:9000/var/www/ enablereuse=on
|
ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/" enablereuse=on
|
||||||
</highlight>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
<example><title>PHP-FPM with UDS</title>
|
<example><title>PHP-FPM with UDS</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
# UDS does not currently support connection reuse
|
# 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>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
|
|
||||||
<example><title>Balanced gateway to multiple application instances</title>
|
<example><title>Balanced gateway to multiple application instances</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /myapp/ balancer://myappcluster/
|
ProxyPass "/myapp/" "balancer://myappcluster/"
|
||||||
<Proxy balancer://myappcluster/>
|
<Proxy balancer://myappcluster/>
|
||||||
BalancerMember fcgi://localhost:4000
|
BalancerMember fcgi://localhost:4000
|
||||||
BalancerMember fcgi://localhost:4001
|
BalancerMember fcgi://localhost:4001
|
||||||
|
@@ -66,7 +66,7 @@
|
|||||||
<p>Remember, in order to make the following examples work, you have to
|
<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>
|
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>
|
</div>
|
||||||
|
|
||||||
<p>The balanced gateway needs <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> and
|
<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
|
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>
|
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>
|
<Proxy balancer://somecluster>
|
||||||
BalancerMember scgi://localhost:4000
|
BalancerMember scgi://localhost:4000
|
||||||
BalancerMember scgi://localhost:4001
|
BalancerMember scgi://localhost:4001
|
||||||
|
@@ -55,7 +55,7 @@
|
|||||||
|
|
||||||
<example><title>Simple gateway</title>
|
<example><title>Simple gateway</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /scgi-bin/ scgi://localhost:4000/
|
ProxyPass "/scgi-bin/" "scgi://localhost:4000/"
|
||||||
</highlight>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
|
|
||||||
<example><title>Balanced gateway</title>
|
<example><title>Balanced gateway</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /scgi-bin/ balancer://somecluster/
|
ProxyPass "/scgi-bin/" "balancer://somecluster/"
|
||||||
<Proxy balancer://somecluster>
|
<Proxy balancer://somecluster>
|
||||||
BalancerMember scgi://localhost:4000
|
BalancerMember scgi://localhost:4000
|
||||||
BalancerMember scgi://localhost:4001
|
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/
|
<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>
|
ProxyPass "/wss2/" "wss://echo.websocket.org/"</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@@ -44,8 +44,8 @@ Connection: Upgrade
|
|||||||
|
|
||||||
<example><title>Proxying requests to websockets server</title>
|
<example><title>Proxying requests to websockets server</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /ws2/ ws://echo.websocket.org/
|
ProxyPass "/ws2/" "ws://echo.websocket.org/"
|
||||||
ProxyPass /wss2/ wss://echo.websocket.org/
|
ProxyPass "/wss2/" "wss://echo.websocket.org/"
|
||||||
</highlight>
|
</highlight>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||||
<!-- English Revision: 1668875:1673908 (outdated) -->
|
<!-- English Revision: 1668875:1673917 (outdated) -->
|
||||||
<!-- French translation : Lucien GENTIS -->
|
<!-- French translation : Lucien GENTIS -->
|
||||||
<!-- Reviewed by : Vincent Deffontaines -->
|
<!-- Reviewed by : Vincent Deffontaines -->
|
||||||
|
|
||||||
|
@@ -112,8 +112,8 @@
|
|||||||
<p>In this case, <code>mod_substutite</code> can be used to rewrite
|
<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>
|
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
|
<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/
|
ProxyPassReverse "/blog/" "http://internal.blog.example.com/"
|
||||||
|
|
||||||
Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"</pre>
|
Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"</pre>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -113,8 +113,8 @@
|
|||||||
|
|
||||||
<example><title>Rewriting URLs embedded in proxied content</title>
|
<example><title>Rewriting URLs embedded in proxied content</title>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /blog/ http://internal.blog.example.com
|
ProxyPass "/blog/" "http://internal.blog.example.com"
|
||||||
ProxyPassReverse /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"
|
Substitute "s|http://internal.blog.example.com/|http://www.example.com/blog/|i"
|
||||||
</highlight>
|
</highlight>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
<?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>
|
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||||
Reviewed by: Orhan Berent <berent 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
|
<pre class="prettyprint lang-config">RewriteEngine on
|
||||||
RewriteBase /products/
|
RewriteBase /products/
|
||||||
RewriteRule ^widget/(.*)$ http://product.example.com/widget/$1 [P]
|
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
|
<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
|
<pre class="prettyprint lang-config">RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
RewriteCond %{REQUEST_FILENAME} !-d
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
RewriteRule ^/(.*) http://old.example.com/$1 [P]
|
RewriteRule ^/(.*) http://old.example.com/$1 [P]
|
||||||
ProxyPassReverse / http://old.example.com/</pre>
|
ProxyPassReverse "/" "http://old.example.com/"</pre>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
|
@@ -69,7 +69,7 @@ A number of recipes are provided that describe common scenarios.</p>
|
|||||||
RewriteEngine on
|
RewriteEngine on
|
||||||
RewriteBase /products/
|
RewriteBase /products/
|
||||||
RewriteRule ^widget/(.*)$ http://product.example.com/widget/$1 [P]
|
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>
|
</highlight>
|
||||||
|
|
||||||
<p>In the second example, we proxy the request only if we can't find
|
<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} !-f
|
||||||
RewriteCond %{REQUEST_FILENAME} !-d
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
RewriteRule ^/(.*) http://old.example.com/$1 [P]
|
RewriteRule ^/(.*) http://old.example.com/$1 [P]
|
||||||
ProxyPassReverse / http://old.example.com/
|
ProxyPassReverse "/" "http://old.example.com/"
|
||||||
</highlight>
|
</highlight>
|
||||||
</dd>
|
</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>
|
<p>The same is true for the <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code>
|
||||||
directives:</p>
|
directives:</p>
|
||||||
<pre class="prettyprint lang-config">ProxyPass /special-area http://special.example.com smax=5 max=10
|
<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>
|
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>
|
<p>The same is true for the <directive module="mod_proxy">ProxyPass</directive>
|
||||||
directives:</p>
|
directives:</p>
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /special-area http://special.example.com smax=5 max=10
|
ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
|
||||||
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
|
ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
|
||||||
</highlight>
|
</highlight>
|
||||||
</section>
|
</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
|
and returns them to the client as if they were from the local
|
||||||
server.</p>
|
server.</p>
|
||||||
|
|
||||||
<pre class="prettyprint lang-config">ProxyPass /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 />
|
ProxyPassReverse "/foo/" "http://internal.example.com/bar/"<br />
|
||||||
ProxyPassReverseCookieDomain internal.example.com public.example.com<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
|
<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>
|
server.</p>
|
||||||
|
|
||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
ProxyPass /foo/ http://internal.example.com/bar/<br />
|
ProxyPass "/foo/" "http://internal.example.com/bar/"<br />
|
||||||
ProxyPassReverse /foo/ http://internal.example.com/bar/<br />
|
ProxyPassReverse "/foo/" "http://internal.example.com/bar/"<br />
|
||||||
ProxyPassReverseCookieDomain internal.example.com public.example.com<br />
|
ProxyPassReverseCookieDomain internal.example.com public.example.com<br />
|
||||||
ProxyPassReverseCookiePath /foo/ /bar/
|
ProxyPassReverseCookiePath "/foo/" "/bar/"
|
||||||
</highlight>
|
</highlight>
|
||||||
|
|
||||||
<p>The <directive module="mod_proxy">ProxyPass</directive> configures
|
<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 *:*>
|
<pre class="prettyprint lang-config"><VirtualHost *:*>
|
||||||
ProxyPreserveHost On
|
ProxyPreserveHost On
|
||||||
ProxyPass / http://192.168.111.2/
|
ProxyPass "/" "http://192.168.111.2/"
|
||||||
ProxyPassReverse / http://192.168.111.2/
|
ProxyPassReverse "/" "http://192.168.111.2/"
|
||||||
ServerName hostname.example.com
|
ServerName hostname.example.com
|
||||||
</VirtualHost></pre>
|
</VirtualHost></pre>
|
||||||
|
|
||||||
|
@@ -27,6 +27,8 @@
|
|||||||
<a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
|
<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>
|
<a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="T<>rk<72>e"> tr </a></p>
|
||||||
</div>
|
</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
|
<p>Le but de ce document est d'essayer de r<>pondre aux questions
|
||||||
|
@@ -337,8 +337,8 @@ Listen 80
|
|||||||
<highlight language="config">
|
<highlight language="config">
|
||||||
<VirtualHost *:*>
|
<VirtualHost *:*>
|
||||||
ProxyPreserveHost On
|
ProxyPreserveHost On
|
||||||
ProxyPass / http://192.168.111.2/
|
ProxyPass "/" "http://192.168.111.2/"
|
||||||
ProxyPassReverse / http://192.168.111.2/
|
ProxyPassReverse "/" "http://192.168.111.2/"
|
||||||
ServerName hostname.example.com
|
ServerName hostname.example.com
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
</highlight>
|
</highlight>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='ISO-8859-1' ?>
|
<?xml version='1.0' encoding='ISO-8859-1' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
<?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. -->
|
<!-- French translation by Vincent Deffontaines, Alain B. -->
|
||||||
<!-- reviewed by Lucien Gentis -->
|
<!-- reviewed by Lucien Gentis -->
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='EUC-KR' ?>
|
<?xml version='1.0' encoding='EUC-KR' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<variants>
|
<variants>
|
||||||
<variant>en</variant>
|
<variant>en</variant>
|
||||||
<variant>fr</variant>
|
<variant outdated="yes">fr</variant>
|
||||||
<variant outdated="yes">ja</variant>
|
<variant outdated="yes">ja</variant>
|
||||||
<variant outdated="yes">ko</variant>
|
<variant outdated="yes">ko</variant>
|
||||||
<variant outdated="yes">tr</variant>
|
<variant outdated="yes">tr</variant>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8' ?>
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
<?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>
|
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||||
Reviewed by: Orhan Berent <berent belgeler.org>
|
Reviewed by: Orhan Berent <berent belgeler.org>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
||||||
<!-- English Revision: 1436578:1673892 (outdated) -->
|
<!-- English Revision: 1436578:1673917 (outdated) -->
|
||||||
<!-- French translation : Lucien GENTIS -->
|
<!-- French translation : Lucien GENTIS -->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='EUC-KR' ?>
|
<?xml version='1.0' encoding='EUC-KR' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8' ?>
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
<?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>
|
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||||
Reviewed by: Orhan Berent <berent 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="../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>
|
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="T<>rk<72>e"> tr </a></p>
|
||||||
</div>
|
</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
|
<p>Ce document d<>crit quand et comment utiliser des serveurs
|
||||||
virtuels par nom.</p>
|
virtuels par nom.</p>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8' ?>
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='ISO-8859-1' ?>
|
<?xml version='1.0' encoding='ISO-8859-1' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
<?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
|
<!-- French translation by alain B, review by Vincent Deffontaines
|
||||||
updated by Lucien GENTIS -->
|
updated by Lucien GENTIS -->
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='EUC-KR' ?>
|
<?xml version='1.0' encoding='EUC-KR' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
|
<?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
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
<variants>
|
<variants>
|
||||||
<variant outdated="yes">de</variant>
|
<variant outdated="yes">de</variant>
|
||||||
<variant>en</variant>
|
<variant>en</variant>
|
||||||
<variant>fr</variant>
|
<variant outdated="yes">fr</variant>
|
||||||
<variant outdated="yes">ja</variant>
|
<variant outdated="yes">ja</variant>
|
||||||
<variant outdated="yes">ko</variant>
|
<variant outdated="yes">ko</variant>
|
||||||
<variant outdated="yes">tr</variant>
|
<variant outdated="yes">tr</variant>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8' ?>
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||||||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
<?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>
|
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||||||
Reviewed by: Orhan Berent <berent belgeler.org>
|
Reviewed by: Orhan Berent <berent belgeler.org>
|
||||||
|
Reference in New Issue
Block a user