EUR
european

EUR

usa

USD

Russian Ru
Ex. VAT Ex. VAT 0%

Как настроить доступ к контейнеризированной среде с помощью Nginx Proxy Manager на Linux

Введение

В этом руководстве вы настроите безопасный и удобный доступ к контейнеризированным сервисам с помощью Nginx Proxy Manager. Этот подход упрощает управление обратным прокси через веб-интерфейс вместо ручной настройки конфигураций. Вы установите Nginx Proxy Manager с использованием Docker, выполните его настройку и опубликуете контейнеризированный сервис через домен.

Предварительные требования

Целевая аудитория: начинающие системные администраторы
Оценочное время: ~30 минут
Цель: к концу руководства у вас будет рабочая конфигурация Nginx Proxy Manager, которая маршрутизирует внешний трафик к контейнеризированному приложению.

Системные требования:

  • ОС: Linux-дистрибутив с поддержкой Docker
  • Docker: 24.0.6 или новее
  • Docker Compose: v2
  • Минимум 1 ГБ ОЗУ и 10 ГБ дискового пространства
  • Доменное имя, указывающее на IP-адрес вашего сервера
  • Открытые порты: 80, 81, 443
  • Права sudo

Необходимые знания:

  • Базовые навыки работы с командной строкой Linux
  • Базовое понимание контейнеров Docker

Шаг 1: Почему Nginx Proxy Manager?

Nginx Proxy Manager - это веб-инструмент для управления конфигурациями обратного прокси Nginx. Он позволяет маршрутизировать трафик к различным сервисам с использованием доменных имен, включать SSL-сертификаты и управлять правилами доступа без ручного редактирования конфигурационных файлов.

Ключевые возможности:

  • Веб-интерфейс для управления прокси
  • Автоматическое получение SSL через Let's Encrypt
  • Контроль доступа и аутентификация
  • Простая интеграция с Docker-средами

Результат: вы ознакомились с Nginx Proxy Manager и получили представление как он упрощает публикацию контейнеризированных сервисов.

Шаг 2: Установка Docker и Docker Compose

Установите Docker с помощью команды:

curl -sSL https://get.docker.com/ | CHANNEL=stable bash

Проверьте установку Docker:

docker --version

Проверьте Docker Compose:

docker compose version

Результат: Docker и Docker Compose установлены и готовы к использованию.

Шаг 3: Настройка Nginx Proxy Manager

Создайте директорию проекта:

mkdir ~/npm && cd ~/npm

Создайте файл конфигурации:

nano docker-compose.yml

Добавьте содержимое конфигурации:

version: "3" services: app: image: jc21/nginx-proxy-manager:latest restart: always ports: - "80:80" - "81:81" - "443:443" volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt

Сохраните файл и выйдите.

Запустите сервис:

docker compose up -d

Результат: контейнер Nginx Proxy Manager запущен и прослушивает необходимые порты.

Шаг 4: Доступ к веб-интерфейсу

Nginx Proxy Manager login screen

Откройте браузер и перейдите по адресу: http://<YOUR_IP_ADDRESS>:81

Учетные данные по умолчанию:

Обновите учетные данные при первом входе.

Результат: вы можете управлять Nginx Proxy Manager через веб-интерфейс.

Шаг 5: Развертывание тестового контейнера

Запустите тестовый веб-контейнер:

docker run -d --name test-app -p 8080:80 nginx

Проверьте доступ: http://<YOUR_IP_ADDRESS>:8080

Результат: тестовый контейнер запущен и доступен локально.

Шаг 6: Создание Proxy Host

Add Proxy Host dialog in Nginx Proxy Manager

В интерфейсе Nginx Proxy Manager:

  • Нажмите "Proxy Hosts"
  • Нажмите "Add Proxy Host"
  • Укажите домен: <YOUR_DOMAIN>
  • Forward hostname или IP: localhost
  • Forward port: 8080
  • Включите "Block Common Exploits"
  • Сохраните конфигурацию

Результат: трафик с домена маршрутизируется к контейнеру.

Шаг 7: Включение SSL

SSL configuration tab in Nginx Proxy Manager

Отредактируйте proxy host:

  • Откройте вкладку SSL
  • Выберите Request a new SSL Certificate
  • Включите Force SSL
  • Включите HTTP/2 Support
  • Укажите email и примите условия
  • Сохраните изменения

Info

? Примечание: для SSL требуется корректная настройка DNS, указывающая домен на сервер.

Результат: HTTPS включен и защищен валидным сертификатом.

Проверка

Откройте домен: https://<YOUR_DOMAIN>

Ожидаемые результаты:

  • Загружается тестовая страница Nginx
  • Браузер показывает валидный SSL-сертификат
  • Нет предупреждений безопасности

Проверьте контейнеры:

docker ps

Результат: обратный прокси работает корректно и безопасно маршрутизирует трафик.

Откат изменений

Остановите сервисы:

docker compose down

Удалите тестовый контейнер:

docker rm -f test-app

Удалите файлы проекта:

rm -rf ~/npm

Info

⚠️ Внимание: это удалит все конфигурации и SSL-сертификаты.

Результат: система возвращена в исходное состояние.

Устранение неполадок

Проблема: нет доступа к веб-интерфейсу
Решение: убедитесь, что порт 81 открыт и не занят другим сервисом

Проблема: не создается SSL-сертификат
Решение: проверьте DNS-настройки, указывающие на ваш сервер

Проблема: proxy host не работает
Решение: проверьте контейнеры через docker ps и логи через docker logs <CONTAINER_ID>

Результат: типовые проблемы выявлены и устранены.

Заключение и дальнейшие шаги

Вы установили и настроили Nginx Proxy Manager с использованием Docker и опубликовали контейнеризированный сервис через домен и SSL. Это решение обеспечивает простой и масштабируемый способ управления сервисами.

Дальнейшие шаги:

  • Добавление новых сервисов с разными доменами
  • Настройка списков контроля доступа
  • Изучение расширенных настроек прокси и безопасности

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA