Как использовать Apache в качестве обратного прокси-сервера с mod_proxy в Ubuntu

Обновлено: Май 19, 2019
< Назад

Обратный прокси-сервер — это тип прокси-сервера, который принимает запросы HTTP (S) и прозрачно распределяет их на один или несколько внутренних серверов. Обратные прокси-серверы полезны, потому что многие современные веб-приложения обрабатывают входящие HTTP-запросы, используя серверы внутренних приложений, к которым пользователи не обращаются напрямую, и зачастую поддерживают только элементарные функции HTTP.
Вы можете использовать обратный прокси-сервер для предотвращения прямого доступа к этим базовым серверам приложений. Их также можно использовать для распределения нагрузки от входящих запросов на несколько различных серверов приложений, что повышает производительность в масштабе и обеспечивает отказоустойчивость. Они могут заполнить пробелы с помощью функций, которые серверы приложений не предлагают, таких как кэширование, сжатие или шифрование SSL.
В этом руководстве вы настроите Apache в качестве основного обратного прокси-сервера, используя расширение mod_proxy для перенаправления входящих соединений на один или несколько внутренних серверов, работающих в одной сети.
Apache 2 должен быть установлен.

Включение необходимых модулей Apache


В комплекте с Apache есть много модулей, которые доступны, но не включены в новой установке. Во-первых, нам нужно включить те, которые мы будем использовать.
Модули, которые нам нужны, — это сам mod_proxy и несколько его дополнительных модулей, которые расширяют его функциональные возможности для поддержки различных сетевых протоколов. В частности, мы будем использовать:
mod_proxy, основной прокси-модуль Apache, модуль для перенаправления соединений; это позволяет Apache выступать в качестве шлюза к базовым серверам приложений.
mod_proxy_http, который добавляет поддержку прокси-соединений HTTP.
mod_proxy_balancer и mod_lbmethod_byrequests, которые добавляют функции балансировки нагрузки для нескольких внутренних серверов.
Чтобы включить эти четыре модуля, последовательно выполните следующие команды.

 sudo a2enmod proxy
 sudo a2enmod proxy_http
 sudo a2enmod proxy_balancer
 sudo a2enmod lbmethod_byrequests
 sudo systemctl restart apache2

Теперь создаем файлы конфигурации виртуальных хостов

 nano /etc/apache2/sites-available/ИМЯДОМЕНА.conf
ProxyPreserveHost On
ProxyPass / http://192.168.1.XXX:80/
ProxyPassReverse / http://192.168.1.XXX:80/


Делаем симлинк конфигурации на /etc/apache2/sites-enabled
Перегружаем апач

 sudo systemctl restart apache2


Теперь при обращении по имени домена браузер будет перенаправлен на целевой сервер.

Автор публикации

не в сети 5 месяцев

Сергей Шангин

Аватар 0
Комментарии: 0Публикации: 11Регистрация: 03-05-2019

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

16 − 4 =

Авторизация
*
*

десять − 6 =

Регистрация
*
*
*

четыре × 5 =

Генерация пароля

одиннадцать + пять =