<-
Apache > HTTP Server > Documentation > Version 2.4 > Modules

Apache Module mod_proxy_express

Available Languages: en | fr

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

Summary

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 .

Warning

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.

Limitations

  • This module is not intended to replace the dynamic capability of 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.
  • It does not support regex or pattern matching at all.
  • It emulates:
    <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.
top

ProxyExpressDBMFile Directive

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.

Note

The file is constructed from a plain text file format using the httxt2dbm utility.

ProxyExpress map file

##
##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

Create DBM file

httxt2dbm -i express-map.txt -o emap

Configuration

ProxyExpressEnable on
ProxyExpressDBMFile emap
top

ProxyExpressDBMType Directive

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):

ValueDescription
db Berkeley DB files
gdbm GDBM files
ndbm NDBM files
sdbm SDBM files (always available)
default default DBM type
top

ProxyExpressEnable Directive

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.

Available Languages: en | fr

AltStyle によって変換されたページ (->オリジナル) /