Введение
Мы установим Nginx Proxy Manager — программное обеспечение с открытым исходным кодом, разработанное для упрощения использования веб-сервера Nginx через пользовательский интерфейс. С помощью Nginx Proxy Manager вы можете создавать прокси-хосты, перенаправлять хосты, потоки и хосты 404.
Предпосылки
- Сервер с выделенным адресом IPv4
- Базовые знания Linux и терминала
- Доступны порты 80, 81, 443.
Шаг 1 — Создайте новый сервер
Создайте новый сервер, например с Hotsnr
При создании сервера убедитесь, что выбранная вами операционная система поддерживается Docker. В этом руководстве мы будем использовать Ubuntu 24.04. Кроме того, стандартного тарифного плана должно быть достаточно для обратного прокси-сервера с небольшим трафиком.
Также рекомендуется добавить SSH-ключ.
В целях безопасности использование пользователя root не рекомендуется. Вместо этого следует создать нового пользователя и добавить его в группу sudo.
Шаг 2 — Установка Docker и Nginx Proxy Manager
- Подключение к вашему серверу
Для начала вы можете подключиться к новому серверу через SSH.
ssh holu@
- Установка Докера
Чтобы установить Docker в Ubuntu, выполните следующие команды. Если на вашем сервере установлена другая операционная система, убедитесь, что вы нашли правильные команды (см. раздел Установка Docker — поддерживаемые платформы).
Добавьте ключ GPG и репозиторий Docker:
# Удаление старых версий sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras # Установка необходимых компонентов sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings # Добавление официального ключа GPG Docker sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Настройка стабильного репозитория echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullУстановка Docker Engine и Docker Compose:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin # Тестирование установки docker --version docker compose versionМы успешно установили Docker и Docker Compose.
Добавьте своего пользователя в группу Docker:
sudo usermod -aG docker
Выйдите из системы и войдите снова, чтобы обновить группы пользователей.
Теперь нам нужно установить сам Nginx Proxy Manager.
- Установить прокси-менеджер Nginx
Создайте новый каталог для прокси-менеджера nginx:
mkdir -p npm cd npmВыполните следующие команды, перечисленные ниже.
# Создание файла конфигурации docker-compose touch docker-compose.yml # Редактирование файла nano docker-compose.ymlПоместите следующее содержимое в указанный ниже файл.
версия: '3.8' службы: приложение: образ: 'jc21/nginx-proxy-manager:latest' перезапуск: без остановки порты: - '80:80' - '81:81' - '443:443' тома: - ./data:/data - ./letsencrypt:/etc/letsencrypt # сетевой_режим: 'хост'Примечание о сетевом режиме:
- Если вы планируете использовать прокси-сервер для внешних серверов с публичными IP-адресами, вам не нужен network_mode.
- Если вы планируете использовать прокси-серверы локальных Docker-контейнеров и хотите указать адрес 127.0.0.1: , вам нужен network_mode и вам нужно удалить символ решетки в начале строки.
Теперь нам нужно поднять стек, выполнив следующую команду.
docker compose up -d
Теперь мы можем получить доступ к интерфейсу администратора, используя следующие данные.
Замените 203.0.113.1 на ваш публичный адрес IPv4.
Интерфейс управления: http://203.0.113.1:81
Администратор по умолчанию:
Электронная почта: [email protected] Пароль: changemeШаг 3 — Доступ к интерфейсу администратора
Сразу после входа в систему под пользователем по умолчанию вам необходимо отредактировать свой профиль и сменить пароль.
Страница входа администратора должна выглядеть так, как показано на рисунке ниже.
После входа в систему и изменения всех данных по умолчанию вы можете просмотреть “Панель инструментов”.
Создать свой первый прокси-хост довольно просто. В панели управления нажмите “0 Proxy Host” “ ”Add Proxy Host». Ниже представлен скриншот базовой конфигурации для доступа к интерфейсу администратора из домена (proxy.example.com). Убедитесь, что у домена есть DNS-запись, указывающая на публичный IPv4-адрес сервера.
После этого вам, скорее всего, понадобится SSL-сертификат для обеспечения безопасности. Ниже представлен скриншот первоначальной конфигурации, демонстрирующий, как могут выглядеть параметры SSL.
Вы можете отметить другие опции, например, “Принудительное использование SSL” и т. д. по желанию. На изображении они не отмечены, чтобы читатели, читающие это руководство, не запутались и не подумали, что им нужно их отметить.
После сохранения новой записи вы сможете получить доступ к интерфейсу администратора из настроенного вами домена (в этом примере proxy.example.com).
Менеджер прокси-серверов Nginx теперь готов, и вы можете добавить свои прокси-хосты.
Если вы добавили network_mode в файл Docker Compose выше, вы сможете установить для параметра “Имя хоста/IP-адрес пересылки” значение 127.0.0.1 для всех локальных контейнеров. Например, для локального Docker-контейнера WordPress:
holu@tutorial:~/npm$ docker run -p 8080:80 -d wordpress holu@tutorial:~/npm$ docker ps ИДЕНТИФИКАТОР КОНТЕЙНЕРА ОБРАЗ КОМАНДА СОЗДАН СОСТОЯНИЕ ИМЕНА ПОРТОВ 23bcbfe55c53 jc21/nginx-proxy-manager "/init" 31 минуту назад Наверх 31 минуту npm-app-1 e9853acea394 wordpress "docker-entrypoint.s..." 22 минуты назад Наверх 22 минуты 0.0.0.0:8080->80/tcp, :::8080->80/tcp thirsty_greiderВы можете указать пункт назначения http://127.0.0.1:8080:
Если в вашем файле Docker Compose отсутствует network_mode: 'host', вам необходимо указать в качестве назначения публичный IP-адрес, в этом примере 203.0.113.1:8080.
Результат
Теперь вам нужно установить Nginx Proxy Manager.














