mysurik.ru

Полная настройка Nginx Proxy Manager (NPM)

Эта инструкция проведет вас через процесс установки и настройки Nginx Proxy Manager, чтобы вы могли безопасно и удобно управлять обратным проксированием для ваших веб-приложений. Мы рассмотрим установку, базовую конфигурацию, добавление SSL сертификатов с помощью Let’s Encrypt и настройку нескольких проксированных сервисов.

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

  • Доменное имя: Вам потребуется доменное имя, которое вы будете использовать для доступа к вашим приложениям через NPM.
  • Сервер: Необходим сервер (VPS или физический) с установленной операционной системой Linux (рекомендуется Ubuntu 20.04/22.04).
  • Права root/sudo: Для выполнения большинства команд потребуется доступ с правами администратора.

Шаг 1: Обновление системы и установка необходимых пакетов

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

sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl unzip nginx

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

NPM использует Docker для контейнеризации. Установите Docker и Docker Compose следующими командами:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker # Перезагрузите группу docker для текущего пользователя
sudo apt install docker-compose -y

Шаг 3: Загрузка и настройка NPM

  1. Создайте директорию для хранения файлов NPM: mkdir -p /opt/npm cd /opt/npm
  2. Клонируйте репозиторий NPM с GitHub: git clone https://github.com/jc21/nginx-proxy-manager.git .
  3. Отредактируйте файл docker-compose.yml для настройки переменных окружения. Откройте его в текстовом редакторе (например, nano): nano docker-compose.yml
  4. Найдите секцию environment: и настройте следующие переменные:
    • DB_VOLUME: Укажите путь для хранения базы данных (по умолчанию /data/db).
    • LOG_VOLUME: Укажите путь для хранения логов (по умолчанию /data/logs).
    • NPM_ADMIN_EMAIL: Укажите ваш email адрес, который будет использоваться для учетной записи администратора.
    • NPM_ADMIN_PASSWORD: Установите надежный пароль для учетной записи администратора.
    Пример: environment: DB_VOLUME: /data/db LOG_VOLUME: /data/logs NPM_ADMIN_EMAIL: your_email@example.com NPM_ADMIN_PASSWORD: YourStrongPassword
  5. Сохраните и закройте файл docker-compose.yml.

Шаг 4: Запуск NPM

Запустите контейнеры NPM с помощью Docker Compose:

docker-compose up -d

Эта команда скачает необходимые образы Docker и запустит NPM в фоновом режиме. Подождите несколько минут, пока все контейнеры не запустятся.

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

Откройте ваш браузер и перейдите по адресу http://<ваш_IP_адрес> или http://<ваше_доменное_имя>. Вы должны увидеть страницу входа в NPM. Используйте email адрес и пароль, которые вы указали в файле docker-compose.yml.

Шаг 6: Добавление проксированного сервиса (пример)

  1. После успешного входа в систему нажмите кнопку «Add Proxy Host».
  2. Заполните следующие поля:
    • Domain Name(s): Укажите доменное имя или поддомен, который будет использоваться для доступа к вашему сервису (например, app1.example.com).
    • Scheme: Выберите http или https в зависимости от протокола вашего приложения.
    • Forward Hostname / IP: Укажите IP адрес или доменное имя сервера, на котором работает ваше приложение (например, 192.168.1.100).
    • Forward Port: Укажите порт, на котором работает ваше приложение (например, 80).
    • Cache Assets: Оставьте включенным для кэширования статических ресурсов.
  3. Нажмите кнопку «Save».

Шаг 7: Добавление SSL сертификата с помощью Let’s Encrypt

  1. Перейдите на вкладку «SSL Certificates».
  2. Нажмите кнопку «Add SSL Certificate».
  3. Заполните следующие поля:
    • Domain Name(s): Укажите доменное имя или поддомен, для которого вы хотите получить сертификат (например, app1.example.com).
    • Email Address: Укажите ваш email адрес.
    • Agree to the Let’s Encrypt terms of service: Поставьте галочку.
  4. Нажмите кнопку «Save». NPM автоматически запросит и установит SSL сертификат для вашего домена.
  5. Вернитесь на вкладку «Proxy Hosts» и отредактируйте ваш проксированный сервис.
  6. В секции «SSL Certificate» выберите только что созданный сертификат.
  7. Нажмите кнопку «Save».

Шаг 8: Перезапуск сервиса (если необходимо)

Если после добавления SSL сертификата сервис не работает, попробуйте перезапустить его в NPM.

Дополнительные советы и рекомендации:

  • Регулярно обновляйте NPM: Проверяйте наличие новых версий NPM на GitHub и обновляйте их для получения последних исправлений безопасности и улучшений.
  • Используйте надежные пароли: Установите сложные и уникальные пароли для учетной записи администратора и других сервисов.
  • Настройте брандмауэр: Ограничьте доступ к вашему серверу только необходимыми портами (например, 80 и 443).
  • Мониторинг логов: Регулярно проверяйте логи NPM для выявления возможных проблем.
  • Используйте Docker Compose для управления несколькими сервисами: Вы можете добавить несколько проксированных сервисов в один файл docker-compose.yml.

Эта инструкция предоставляет базовую настройку Nginx Proxy Manager. Вы можете настроить дополнительные параметры, такие как перенаправление HTTP на HTTPS, блокировку определенных IP адресов и многое другое. Обратитесь к официальной документации NPM для получения более подробной информации: https://nginxproxymanager.com/

Удачи в настройке!

Ваш комментарий

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