← Back to blog

Руководство по расширению mod_proxy: использование Apache в качестве обратного прокси

Category
Руководство по расширению mod_proxy: использование Apache в качестве обратного прокси

Введение

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

В этом руководстве мы обсудим Apache и различные модули, связанные с этой серверной платформой, такие как mod_proxy. Мы также рассмотрим, как использовать его в качестве обратного прокси-сервера для перенаправления соединений на ваши бэкенд-серверы приложений.

Что такое Apache?

Apache — это HTTP-сервер, который очень часто используется для веб-задач. Но вы можете использовать его для самых разных целей и на нескольких платформах. Вы можете установить веб-сервер Apache на Ubuntu, следуя нашему пошаговому руководству. Кроме того, ознакомьтесь с этим руководством, чтобы узнать, как защитить сервер Apache с помощью Let’s Encrypt. Вы также можете узнать, как настроить виртуальные хосты Apache на Ubuntu 20.04.

Вы можете продолжить изучение функций и возможностей применения Apache с помощью внешних модулей. Это сторонние модули, которые можно использовать для выполнения различных задач, связанных с соединениями и конфигурациями. Например, вы можете использовать модуль mod_rewrite для перезаписи URL-адресов на основе правил. Еще один из таких модулей — mod_proxy. Последний модуль используется в сообществе недостаточно широко. В первую очередь потому, что многие люди не знают о масштабах его функциональности и применения. Mod_proxy, как следует из названия, может помочь вам настроить шлюз или прокси-сервер для бэкенд-серверов.

Давайте подробно рассмотрим mod_proxy и то, как вы можете использовать его в качестве обратного прокси-сервера.

Mod_proxy: использование Apache в качестве обратного прокси-сервера

Как вы, вероятно, догадываетесь, mod_proxy — это модуль. Это модуль в Apache, который можно использовать для создания и перенаправления различных соединений. Вы также можете активировать и настроить его, как и любой другой модуль в вашей системе. Уникальность mod_proxy заключается в том, что это не просто один модуль. На самом деле он состоит из набора различных модулей, которые вы найдете ниже. Каждый из них выполняет свою собственную функцию. Таким образом, mod_proxy предоставляет вам большое разнообразие функциональных возможностей.

Обратите внимание на следующие модули mod_proxy:

mod_proxy

Это основной модуль прокси. В Apache вы можете использовать этот модуль для настройки и управления различными соединениями. Он также может помочь вам перенаправлять соединения.

mod_proxy_http

Как следует из названия, этот модуль работает с протоколами HTTP и HTTPS. Вы можете использовать этот модуль для реализации функций проксирования этих протоколов.

mod_proxy_ftp

Mod_proxy_ftp работает тогда, когда вы имеете дело с протоколом FTP.

mod_proxy_connect

Этот модуль полезен при выполнении SSL-туннелирования.

mod_proxy_ajp

Вы можете использовать mod_proxy_ajp при работе с протоколом AJP.

mod_proxy_wstunnel

Это полезно при работе с веб-сокетами, такими как WS и WSS.

mod_proxy_balancer

Если вам нужен доступ к функциям балансировки нагрузки и кластеризации, вы можете использовать этот модуль.

mod_cache

Модуль mod_cache полезен, как и ожидалось, для целей кэширования.

mod_headers

Вы можете использовать этот модуль для управления заголовками, создаваемыми по протоколу HTTP.

mod_deflate

Этот модуль используется для сжатия данных.

Если вы хотите узнать еще больше подробностей об этих модулях, вы можете посетить официальный сайт Apache. Официальная документация также предоставит вам дополнительную информацию о mod_proxy и самом Apache.

Как установить Apache и mod_proxy?

Вот несколько простых шагов для установки Apache и mod_proxy в вашей системе:

  1. Подготовка сервера

Прежде всего, вам необходимо убедиться, что ваш облачный сервер подготовлен. Для этого вам нужно обновить операционную систему и сопутствующее программное обеспечение до последних версий.

Используйте следующие команды для обновления ваших приложений:

  1. Установка пакета Essentials

После того как вы подготовили свой сервер, вам необходимо оснастить его основными инструментами. Для этого вам нужно установить пакет build-essential. Этот пакет состоит из всех базовых инструментов, необходимых для установки программ из исходного кода. Вы можете установить его с помощью этой команды:

  1. Получите модули и зависимости

Наконец, вам нужно установить модули и зависимости. Вы можете сделать это, выполнив следующую команду:

Активация модулей: как настроить Apache с прокси-соединениями?

Прежде чем вы вообще приступите к настройке Apache, вам необходимо активировать модули. Эти модули помогут вам выполнить необходимые настройки и различные задачи.

Для начала вам нужно проверить, какие модули уже работают в вашей системе. Кроме того, вам также необходимо убедиться, что все модули установлены правильно и могут быть включены. Выполнение этой команды покажет все доступные модули на вашем сервере Apache:

a2enmod output

Как вы видите, ответ показывает все доступные модули в виде подробного списка. Просмотрите этот список и определите, какие модули вы хотите активировать. Чтобы сообщить об этом Apache, вы можете использовать следующую команду и ввести нужные модули вместо примеров:

С другой стороны, вы также можете активировать каждый модуль индивидуально. Для этого вам нужно использовать следующие команды:

Некоторые модули, вероятно, будут активированы на вашем сервере по умолчанию. Вы можете задаться вопросом, как подтвердить, что они включены. Чтобы убедиться, что нужный модуль активен, вы можете попробовать активировать его дважды. Это гарантирует, что модуль включен.

  1. Изменение настроек конфигурации по умолчанию

Сначала вам нужно изменить настройки конфигурации по умолчанию. Для этого вам необходимо получить доступ к файлу конфигурации по умолчанию, которым является 000-default.conf. Этот файл находится внутри /etc/apache2/sites-enabled. Нам нужно изменить его таким образом, чтобы он выполнял функцию прокси.

Вы начнете с открытия текстового редактора nano для редактирования виртуального хоста по умолчанию. Вы можете сделать это, выполнив следующую команду:

Мы будем коллективно называть mod_virtual host и mod_proxy прокси-виртуальным хостом. Теперь вы можете применить следующие настройки конфигурации. Вы можете внесить необходимые изменения, которые сочтете нужными для вашей системы и ваших требований:

Вы можете сохранить изменения и выйти, нажав Ctrl + X и подтвердив выбор клавишей Y.

  1. Активация функции балансировки нагрузки

Балансировка нагрузки помогает эффективно распределять соединения на вашем прокси. Это очень полезная идея, когда вы используете несколько серверов приложений бэкенда вместо одного. Функция балансировки нагрузки будет распределять соединение или «нагрузку».

Чтобы включить эту функцию, вам необходимо повторить шаги, упомянутые ранее в этом руководстве. Однако при настройке виртуального хоста вам нужно использовать следующие параметры конфигурации:

  1. Активация поддержки обратного прокси

Вам потребуется настроить поддержку обратного прокси в виртуальном хосте, если вы работаете с SSL соединениями и сертификатами. Этот дополнительный виртуальный хост должен иметь следующие настройки. Вам потребуется выполнить инструкции из предыдущих шагов. Все, что вам нужно сделать, это заменить параметры конфигурации на указанные ниже:

Вам также потребуется включить модуль SSL, чтобы приведенная выше конфигурация работала:

  1. Перезапуск Apache

Все настройки выполнены. Наконец, вы можете перезапустить сервер Apache, чтобы применить изменения. Вы можете перезапустить Apache, выполнив следующую команду:

Заключение

Вуаля! Вы только что успешно настроили шлюз обратного прокси на своем сервере Apache. Теперь Apache будет перенаправлять входящие соединения на ваши серверы приложений в бэкенде.

Прелесть этого в том, что процесс настройки требует минимум усилий и довольно прост. Теперь, когда вы знаете точные шаги для достижения этой цели, у вас не должно возникнуть никаких проблем с настройкой обратного прокси в Apache.

Приятной работы!

Akshay Nagpal

Автор · CloudSigma

Комментарии

Комментариев пока нет. Будьте первым.