Модуль Apache mod_proxy_express
| Описание: | Расширение для динамического массового обратного проксирования для mod_proxy
|
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | proxy_express_module |
| Исходный файл: | mod_proxy_express.c |
| Совместимость: | Доступен в Apache 2.3.13 и более поздних версиях |
Краткое описание
Этот модуль динамически настраивает массовые обратные прокси-серверы, сопоставляя заголовок Host: HTTP-запроса с именем сервера и URL серверной части, хранящимися в файле DBM. Это позволяет легко использовать большое количество обратных прокси-серверов без изменения конфигурации. По функциональности он значительно уступает mod_proxy_balancer, который также поддерживает динамическое масштабирование, но предназначен для работы с гораздо большим количеством серверных частей. Он идеально подходит для использования в качестве входного HTTP-коммутатора и в архитектурах микросервисов.
Для работы этого модуля требуется служба mod_proxy.
Предупреждение
Не включайте проксирование, пока не защитите свой сервер. Открытые прокси-серверы опасны как для вашей сети, так и для Интернета в целом.
Ограничения
- Этот модуль не предназначен для замены динамических возможностей
mod_proxy_balancer. Вместо этого он задуман как преимущественно лёгкая и быстрая альтернатива использованиюmod_rewriteсRewriteMapи флагом[P]для сопоставления при обратном проксировании. - Он не поддерживает регулярные выражения или сопоставление с шаблонами.
- Он эмулирует:
<VirtualHost *:80> ServerName front.end.server ProxyPass "/" "back.end.server:port" ProxyPassReverse "/" "back.end.server:port" </VirtualHost>
То есть весь URL добавляется к сопоставленному URL серверной части. Это соответствует замыслу создать простой, но быстрый коммутатор обратного прокси-сервера.
Директива ProxyExpressDBMFile
| Описание: | Путь к файлу DBM. |
|---|---|
| Синтаксис: | ProxyExpressDBMFile pathname |
| Контекст: | конфигурация сервера, виртуальный хост |
| Статус: | Расширение |
| Модуль: | mod_proxy_express |
Директива ProxyExpressDBMFile указывает расположение файла DBM с картой Express. Этот файл используется для сопоставления имени входящего сервера, полученного из заголовка Host:, с URL серверной части.
Примечание
Файл создаётся из текстового файла в обычном формате с помощью утилиты httxt2dbm.
Файл карты ProxyExpress
## ##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 |
| Контекст: | конфигурация сервера, виртуальный хост |
| Статус: | Расширение |
| Модуль: | mod_proxy_express |
Директива ProxyExpressDBMType задаёт ожидаемый модулем тип DBM. По умолчанию используется тип DBM, заданный по умолчанию для утилиты httxt2dbm.
Возможные значения (во время выполнения могут быть доступны не все):
| Значение | Описание |
|---|---|
db |
Файлы Berkeley DB |
gdbm |
Файлы GDBM |
ndbm |
Файлы NDBM |
sdbm |
Файлы SDBM (доступны всегда) |
default |
тип DBM по умолчанию |
Директива ProxyExpressEnable
| Описание: | Включает функциональность модуля. |
|---|---|
| Синтаксис: | ProxyExpressEnable on|off |
| По умолчанию: | ProxyExpressEnable off |
| Контекст: | конфигурация сервера, виртуальный хост |
| Статус: | Расширение |
| Модуль: | mod_proxy_express |
Директива ProxyExpressEnable определяет, будет ли модуль активен.
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_proxy_express.html