Содержание
Краткий обзор Nginx Proxy Manager
Большинство знакомы с Nginx Proxy Manager (NPM). Он предоставляет веб-интерфейс для управления лежащим в его основе прокси и веб-сервером Nginx. Без Nginx Proxy Manager вам пришлось бы вручную редактировать конфигурационные файлы и управлять сертификатами. Графический интерфейс очень помогает настраивать всё, не беспокоясь о синтаксисе. Это позволяет вам настраивать такие вещи, как прокси-хосты, SSL-сертификаты и сертификаты Let’s Encrypt, без сложной конфигурации, которая для этого обычно требуется.
Это меняет правила игры, особенно если вы новичок в обратных прокси и пытаетесь внедрить решение перед вашими контейнерами. Вы можете легко настроить свои сертификаты и направлять трафик для этих имен хостов в ваши серверные контейнеры.
Что такое Nginx Proxy Manager Plus
NPMplus — это форк от сообщества оригинального проекта. Он построен на той же кодовой базе, но добавляет дополнительные функции для домашних лабораторий и опытных пользователей. В решении присутствуют новые веб-стандарты, расширенные функции безопасности, а также улучшена производительность.
Что же нового?
- Поддержка HTTP/3 и QUIC
- Интеграция с CrowdSec для автоматической защиты от вторжений
- Поддержка геоблокировки
- Дополнительные настройки производительности.
Это функции, которые пользователям домашних лабораторий могут не понадобиться сразу, но по мере масштабирования услуг или если вы хотите защитить свою установку от широкого интернета, они определенно вступают в игру.
Сходства между NPM и NPMplus
Оба инструмента в основе своей функциональности предоставляют веб-интерфейс для Nginx. Они также обрабатывают SSL-сертификаты Let’s Encrypt и позволяют добавлять новые прокси-хосты и сервисы. Оба позволяют делать это без необходимости писать конфигурационные файлы вручную. Вы можете запускать оба в Docker и легко развертывать их на серверах домашних лабораторий или устройствах NAS.
Так что думайте об этом так. NPMplus — это не замена с нуля, а улучшение оригинального Nginx Proxy Manager. Если вы уже используете NPM и вам с ним комфортно, вы почувствуете то же самое с NPMplus.
Ключевые различия, которые могут иметь значение для многих в домашней лаборатории
Теперь давайте углубимся в то, что отличает Nginx Proxy Manager Plus и почему пользователи домашних лабораторий могут предпочесть его. Есть несколько причин, на которые стоит обратить внимание.
Поддержка HTTP/3 и QUIC
Существует тенденция перехода на HTTP/3, который основан на протоколе QUIC. HTTP/3 обеспечивает лучшее установление соединения и производительность по сравнению с HTTP/2. Кроме того, у него лучше производительность в ненадежных мобильных сетях.
NPMplus предоставляет нативную поддержку HTTP/3. Для удаленных подключений к домашней лаборатории это может привести к значительно более быстрым соединениям и лучшей общей стабильности этих соединений.
Интеграция CrowdSec
Также, одна из больших возможностей, которую предоставляет NPMplus, — это добавление интеграции с CrowdSec. Особенно когда вы открываете доступ к сервисам в вашей домашней лаборатории для Интернета, безопасность определенно вызывает беспокойство. Боты и злоумышленники постоянно сканируют диапазоны IP-адресов в поисках уязвимых сервисов.
CrowdSec — это современная система предотвращения вторжений, которая обеспечивает анализ логов и блокировку угроз в реальном времени от злонамеренных субъектов. NPMplus интегрирует CrowdSec нативно. Таким образом, вы можете добавить мощный уровень защиты без особой настройки. Одна эта функция является основной причиной, по которой многие пользователи тестируют NPMplus.
Так что если безопасность является важным приоритетом, как ей и следует быть, это определенно стало бы причиной выбрать NPMplus вместо NPM.
Геоблокировка
Еще одна функция, тесно связанная с темой безопасности, которую многие пользователи стремятся иметь, — это геоблокировка. Нет никаких причин разрешать входящие подключения из всех стран, если необходимо подключаться только из одной или двух стран и т.д.
С учетом этого, NPMplus добавляет опции геоблокировки и дает больше контроля над тем, кто может получить доступ к вашим сервисам, разрешая подключения только из тех стран, которые вы укажете.
Настройки производительности и улучшения стабильности
NPMplus построен поверх оригинальной кодовой базы. Участники проекта работали над оптимизацией многих узких мест производительности и исправлением различных типов проблем. В реальном мире это означает лучшее использование памяти, более быстрый запуск и более стабильную работу со множеством хостов.
Более активный вклад в развитие
Одна из вещей, которую я лично люблю видеть в любом проекте, который я использую, — это то, что проект активен, то есть есть недавние contributions (вклады в код) и история многих недавних вкладов в целом. Это показывает, что проект живет и развивается, и постоянно улучшается.
Оригинальный Nginx Proxy Manager — это проект, который существует очень давно и не имеет такой активной деятельности с точки зрения вклада в развитие.
Не требуется отдельный контейнер MySQL
Еще одна приятная особенность этого проекта заключается в том, что не требуется отдельно поднимать контейнер MySQL. База данных является частью самого контейнера NPMplus. Мне это очень нравится, так как это упрощает и облегчает работу. Вам нужно поддерживать только один контейнер вместо двух.
Темный режим
Еще одно улучшение качества жизни в NPMplus по сравнению с оригинальным проектом Nginx Proxy Manager — наличие темного режима по умолчанию.
Установка NPMplus
Мы можем использовать простой Docker Compose для запуска NPMplus. Ниже приведен краткий пример, как запустить NPMplus. Вы можете раскомментировать DISABLE_ACME=true, если просто хотите поэкспериментировать с NPMplus, не беспокоясь о ACME email и т.д. с самого начала.
В приведенном ниже коде измените расположение тома (volume) на то, где вы хотите хранить ваши bind mounts. Замените ваш ACME_EMAIL и решите, хотите ли вы раскомментировать конфигурацию DISABLE_ACME. Сохраните это как docker-compose.yml.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
services: npmplus: container_name: npmplus image: 'docker.io/zoeyvid/npmplus:latest' restart: always network_mode: host volumes: - "/home/linuxadmin/homelabservices/npmplus/data:/data" - "/home/linuxadmin/homelabservices/npmplus/letsencrypt:/etc/letsencrypt" environment: - "TZ=America/Chicago" - "[email protected]" # Замените на ваш реальный адрес электронной почты #- "DISABLE_ACME=true" # Раскомментируйте, чтобы отключить ACME/SSL для тестирования - "DISABLE_IPV6=true" - "LOGROTATE=true" - "FULLCLEAN=true" - "HTTP_PORT=80" - "HTTPS_PORT=443" - "NPM_PORT=81" |
После сохранения файла вы можете выполнить команду docker compose up -d:
|
1 |
docker compose up -d |
Если вы просто перейдете на порт 80 вашего docker-хоста, вы увидите следующее. Вам советуют перейти в админ-панель.
Чтобы перейти в админ-панель, просто откройте в браузере порт 81.
Чтобы найти пароль для учетной записи по умолчанию [email protected], вам нужно посмотреть в логи docker:
|
1 |
docker logs npmplus |
После входа в систему dashboard должен выглядеть знакомо.
Какой из них вам следует использовать в вашей домашней лаборатории?
Вы не ошибетесь, если выберете оригинальный Nginx Proxy Manager, и он определенно хорошо вам послужит. Я использую его уже много лет, и считаю, что это отличное решение, особенно для начинающих. Однако я думаю, что если вы хотите иметь более надежный обратный прокси на основе Nginx, то NPMplus — это правильный путь.
У него есть несколько явных преимуществ, включая более простую архитектуру всего с одним контейнером (то есть вам не нужно запускать MySQL контейнер как часть стека). Он поддерживает HTTP3, и он имеет отличные функции безопасности, которые вы можете интегрировать, включая Crowdsec и геоблокировку.
Для многих владельцев домашних лабораторий лучшим подходом может быть начать с NPM, чтобы изучить основы его работы. Затем перейти на NPMplus, когда вы освоитесь и захотите получить дополнительные функции безопасности.
В заключение
Обратные прокси являются важной частью любой домашней лаборатории, в которой работают контейнеризированные приложения. Nginx Proxy Manager — один из лучших вариантов для начинающих, поскольку он имеет веб-интерфейс. Однако форк NPMplus от Nginx Proxy Manager — определенно достойная альтернатива. При сравнении Nginx Proxy Manager и NPMplus, у NPMplus есть несколько замечательных функций по сравнению с оригинальным проектом, включая отличные функции безопасности, такие как интеграция с Crowdsec.
Дайте знать. Вы используете сейчас Nginx Proxy Manager? Вы уже пробовали NPMplus? Собираетесь ли попробовать? Напишите в комментариях.
Читайте про умный дом:
🌐 Сайт
📱 Телеграм
📰 Дзен






