Modules | Directives | FAQ | Glossary | Sitemap | Report a bug
Apache HTTP Server Version 2.4
| Description: | Dynamic mass reverse proxy extension for
mod_proxy |
|---|---|
| Status: | Extension |
| Module Identifier: | proxy_express_module |
| Source File: | mod_proxy_express.c |
| Compatibility: | Available in Apache 2.3.13 and later |
This module creates dynamically configured mass reverse
proxies, by mapping the Host: header of the HTTP request to
a server name and backend URL stored in a DBM file.
This allows for easy use of a huge number of reverse proxies
with no configuration changes. It is much less feature-full
than mod_proxy_balancer , which also provides
dynamic growth, but is intended to handle much, much
larger numbers of backends. It is ideally suited as a
front-end HTTP switch and for micro-services architectures.
This module requires the service of mod_proxy .
Do not enable proxying until you have secured your server. Open proxy servers are dangerous both to your network and to the Internet at large.
mod_proxy_balancer . Instead, it is intended to be mostly
a lightweight and fast alternative to using mod_rewrite
with RewriteMap and the
[P] flag for mapped reverse proxying.
<VirtualHost *:80> ServerName front.end.server ProxyPass "/" "back.end.server:port" ProxyPassReverse "/" "back.end.server:port" </VirtualHost>That is, the entire URL is appended to the mapped backend URL. This is in keeping with the intent of being a simple but fast reverse proxy switch.
| Description: | Pathname to DBM file. |
|---|---|
| Syntax: | ProxyExpressDBMFile pathname |
| Context: | server config, virtual host |
| Status: | Extension |
| Module: | mod_proxy_express |
The ProxyExpressDBMFile directive
points to the location of the Express map DBM file. This
file serves to map the incoming server name, obtained from
the Host: header, to a backend URL.
The file is constructed from a plain text file format using
the httxt2dbm
utility.
##
##express-map.txt:
##
www1.example.com http://192.168.211.2:8080
www2.example.com http://192.168.211.12:8088
www3.example.com http://192.168.212.10
httxt2dbm -i express-map.txt -o emap
ProxyExpressEnable on ProxyExpressDBMFile emap
| Description: | DBM type of file. |
|---|---|
| Syntax: | ProxyExpressDBMType type |
| Default: | ProxyExpressDBMType default |
| Context: | server config, virtual host |
| Status: | Extension |
| Module: | mod_proxy_express |
The ProxyExpressDBMType directive
controls the DBM type expected by the module. The default
is the default DBM type created with
httxt2dbm .
Possible values are (not all may be available at run time):
| Value | Description |
|---|---|
db | Berkeley DB files |
gdbm | GDBM files |
ndbm | NDBM files |
sdbm | SDBM files (always available) |
default | default DBM type |
| Description: | Enable the module functionality. |
|---|---|
| Syntax: | ProxyExpressEnable on|off |
| Default: | ProxyExpressEnable off |
| Context: | server config, virtual host |
| Status: | Extension |
| Module: | mod_proxy_express |
The ProxyExpressEnable directive
controls whether the module will be active.