Як налаштувати доступ до контейнеризованого середовища за допомогою Nginx Proxy Manager на Linux | INTROSERV
EUR
european

EUR

usa

USD

Ukraine Ua
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