2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
4 <!-- $LastChangedRevision$ -->
7 Licensed to the Apache Software Foundation (ASF) under one or more
8 contributor license agreements. See the NOTICE file distributed with
9 this work for additional information regarding copyright ownership.
10 The ASF licenses this file to You under the Apache License, Version 2.0
11 (the "License"); you may not use this file except in compliance with
12 the License. You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <modulesynopsis metafile="mod_proxy_express.xml.meta">
25 <name>mod_proxy_express</name>
26 <description>Dynamic mass reverse proxy extension for
27 <module>mod_proxy</module></description>
28 <status>Extension</status>
29 <sourcefile>mod_proxy_express.c</sourcefile>
30 <identifier>proxy_express_module</identifier>
33 <p>This module creates dynamically configured mass reverse
34 proxies, by mapping the Host: header of the HTTP request to
35 a server name and backend URL stored in a DBM file.
36 This allows for easy use of a huge number of reverse proxies
37 with no configuration changes. It is much less feature-full
38 than <module>mod_proxy_balancer</module>, which also provides
39 dynamic growth, but is intended to handle much, much
40 larger numbers of backends. It is ideally suited as a
41 front-end HTTP switch.</p>
43 <p>This module <em>requires</em> the service of <module
44 >mod_proxy</module>.</p>
46 <note type="warning"><title>Warning</title>
47 <p>Do not enable proxying until you have <a
48 href="mod_proxy.html#access">secured your server</a>. Open proxy
49 servers are dangerous both to your network and to the Internet at
53 <note><title>Limitations</title>
55 <li>This module is not intended to replace the dynamic capability of
56 <module>mod_proxy_balancer</module>. Instead, it is intended to be mostly
57 a lightweight and fast alternative to using <module>mod_rewrite</module>
58 with <directive>RewriteMap</directive> and the <code>[P]</code> flag
59 for mapped reverse proxying.
61 <li>It does not support regex or pattern matching at all.
65 ProxyPass / backend.server:port<br />
66 ProxyPassReverse / backend.server:port<br />
68 That is, the entire URL is appended to the mapped backend
69 URL. This is in keeping with the intent of being a simple
70 but fast reverse proxy switch.
76 <seealso><module>mod_proxy</module></seealso>
79 <name>ProxyExpressEnable</name>
80 <description>Enable the module functionality.</description>
81 <syntax>ProxyExpressEnable [on|off]</syntax>
82 <default>off</default>
83 <contextlist><context>server config</context><context>virtual host</context>
85 <compatibility>Available in Apache 2.3.13 and later</compatibility>
88 <p>The <directive>ProxyExpressEnable</directive> directive
89 controls whether the module will be active.</p>
94 <name>ProxyExpressDBMFile</name>
95 <description>Pathname to DBM file.</description>
96 <syntax>ProxyExpressDBMFile <pathname></syntax>
97 <default>None</default>
98 <contextlist><context>server config</context><context>virtual host</context>
100 <compatibility>Available in Apache 2.3.13 and later</compatibility>
103 <p>The <directive>ProxyExpressDBMFile</directive> directive
104 points to the location of the Express map DBM file. This
105 file serves to map the incoming server name, obtained from
106 the Host: header, to a backend URL.</p>
108 <note><title>Note</title>
109 <p>The file is constructed from a plain text file format using
110 the <code><a href="../programs/httxt2dbm.html">httxt2dbm</a></code>
113 <example><title>ProxyExpress map file</title>
115 ##express-map.txt:<br />
118 www1.example.com http://192.168.211.2:8080<br />
119 www2.example.com http://192.168.211.12:8088<br />
120 www3.example.com http://192.168.212.10<br />
123 <example><title>Create DBM file</title>
124 httxt2dbm -i express-map.txt -o emap<br />
127 <example><title>Configuration</title>
128 ProxyExpressDBMFile emap<br />
135 <name>ProxyExpressDBMType</name>
136 <description>DBM type of file.</description>
137 <syntax>ProxyExpressDBMFile <type></syntax>
138 <default>"default"</default>
139 <contextlist><context>server config</context><context>virtual host</context>
141 <compatibility>Available in Apache 2.3.13 and later</compatibility>
144 <p>The <directive>ProxyExpressDBMType</directive> directive
145 controls the DBM type expected by the module. The default
146 is the default DBM type created with <code>
147 <a href="../programs/httxt2dbm.html">httxt2dbm</a></code>.</p>
148 <p>Possible values are (not all may be available at run time):</p>
149 <table border="1" style="zebra">
150 <columnspec><column width=".3"/><column width=".7"/></columnspec>
152 <tr><th>Value</th><th>Description</th></tr>
153 <tr><td><code>db</code></td><td> Berkeley DB files</td></tr>
154 <tr><td><code>gdbm</code></td><td> GDBM files</td></tr>
155 <tr><td><code>ndbm</code></td><td> NDBM files</td></tr>
156 <tr><td><code>sdbm</code></td><td> SDBM files (always available)</td></tr>
157 <tr><td><code>default</code></td><td> default DBM type</td></tr>