mod_proxy_express
描述: | mod_proxy的动态质量反向代理扩展 |
状态: | 延期 |
模块标识符: | proxy_express_module |
源文件: | mod_proxy_express.c |
兼容性: | 可在 Apache 2.3.13 及更高版本中使用 |
摘要
此模块通过将 HTTP 请求的Host:
标头映射到存储在 DBM 文件中的服务器 name 和后端 URL 来创建动态配置的批量反向代理。这允许在不进行 configuration 更改的情况下轻松使用大量反向代理。它比mod_proxy_balancer少得多 feature-full,这也提供了动态增长,但旨在处理更多,更大的后端数量。它非常适合作为 front-end HTTP 交换机和 micro-services 架构。
该模块需要mod_proxy的服务。
在有保护你的服务器之前不要启用代理。开放代理服务器对您的网络和整个 Internet 都是危险的。
限制
- 此模块无意取代mod_proxy_balancer的动态功能。相反,它主要是使用mod_rewrite和RewriteMap 指令以及
[P]
flag 进行映射反向代理的轻量级和快速替代方案。 - 它根本不支持正则表达式或 pattern 匹配。
- 它模仿:
<VirtualHost *:80> ServerName front.end.server ProxyPass "/" "back.end.server:port" ProxyPassReverse "/" "back.end.server:port" </VirtualHost>
也就是说,整个 URL 将附加到映射的后端 URL。这与作为简单但快速的反向代理交换机的意图保持一致。
ProxyExpressDBMFile 指令
描述: | DBM 文件的路径名。 |
句法: | ProxyExpressDBMFile pathname |
Context: | server config,virtual host |
状态: | 延期 |
模块: | mod_proxy_express |
ProxyExpressDBMFile
指令指向 Express map DBM 文件的位置。此文件用于将从Host:
标头获取的传入服务器 name 映射到后端 URL。
注意
该文件使用httxt2dbm实用程序以纯文本文件格式构建。
ProxyExpress map 文件
####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
创建 DBM 文件
httxt2dbm -i express-map.txt -o emap
组态
ProxyExpressEnable on ProxyExpressDBMFile emap
ProxyExpressDBMType 指令
描述: | DBM 类型的文件。 |
句法: | ProxyExpressDBMType type |
默认: | ProxyExpressDBMType default |
Context: | server config,virtual host |
状态: | 延期 |
模块: | mod_proxy_express |
ProxyExpressDBMType
指令控制模块所期望的 DBM 类型。默认值是使用httxt2dbm创建的默认 DBM 类型。
可能的值是(并非所有值都可以在 run time 中获得):
值 | 描述 |
db | Berkeley DB files |
gdbm | GDBM files |
ndbm | NDBM files |
sdbm | SDBM files(始终可用) |
default | 默认 DBM 类型 |
ProxyExpressEnable 指令
描述: | 启用模块功能。 |
句法: | ProxyExpressEnable on\|off |
默认: | ProxyExpressEnable off |
Context: | server config,virtual host |
状态: | 延期 |
模块: | mod_proxy_express |
ProxyExpressEnable
指令控制模块是否为 active。