
Nginx Proxy Manager — это готовый Docker контейнер, который позволяем развернуть простой и доступный обратный прокси-сервер с возможностью терминации SSL.
Nginx Proxy Manager — это, в первую очередь, проект для обычного домашнего использования. Однако, из-за удобства использования он стал применяться повсеместно.
Этот проект поставляется в виде предварительно собранного образа Docker, который позволяет легко перенаправлять на ваши веб-сайты, работающие дома или в другом месте, включая бесплатный SSL, без необходимости глубоких знаний о Nginx или Let's Encrypt.
От автора
Я создал этот проект, чтобы удовлетворить личную потребность предоставить пользователям простой способ настройки обратного проксирования хостов с SSL-терминацией, и этот процесс должен быть настолько простым, чтобы с ним справилась даже обезьяна.
Эта цель остается неизменной. Хотя в проекте могут быть расширенные настройки, они опциональны, и проект должен быть максимально простым, чтобы снизить порог входа для новичков.
Возможности
- Красивый и безопасный административный интерфейс на основе Tabler
- Простое создание доменов перенаправления, редиректов, потоков и хостов 404 без знаний о Nginx
- Бесплатный SSL с использованием Let's Encrypt или возможность использовать собственные SSL-сертификаты
- Списки доступа и базовая HTTP-аутентификация для ваших хостов
- Расширенная конфигурация Nginx для опытных пользователей
- Управление пользователями, правами доступа и журнал аудита
Хостинг в домашней сети
Я не буду вдаваться в подробности, но вот основы для новичков в мире самостоятельного хостинга:
- В вашем домашнем маршрутизаторе где-то есть раздел "Переадресация портов". Войдите и найдите его.
- Добавьте переадресацию портов 80 и 443 на сервер, где размещен этот проект.
- Настройте параметры доменного имени так, чтобы оно указывало на ваш дом (либо со статическим IP, либо через сервис типа DuckDNS или Amazon Route53).
- Используйте Nginx Proxy Manager в качестве шлюза для перенаправления на другие ваши веб-сервисы.
Быстрая настройка
1. Установите Docker и Docker-Compose
2. Создайте файл docker-compose.yml примерно такого содержания:
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Это минимальная необходимая конфигурация. Подробнее см. в документации.
3. Запустите ваш стек командой:
docker-compose up -d
# Если используете плагин docker-compose
docker compose up -d
4. Войдите в административный интерфейс
Когда ваш docker-контейнер запустится, подключитесь к нему через порт 81 для доступа к административному интерфейсу. Иногда это может занять некоторое время из-за генерации ключей.
Пользователь по умолчанию:
- Email: admin@example.com
- Пароль: changeme
Сразу после входа с этим пользователем по умолчанию вам будет предложено изменить ваши данные и сменить пароль.
Участие в разработке
Все желающие могут создавать pull-request'ы для этого проекта в ветку develop. Официальные релизы создаются из ветки master.
В проекте используется CI. Все PR должны пройти проверки перед рассмотрением. После прохождения проверок сборки Docker для PR доступны на dockerhub для ручной проверки.
Документация из ветки develop доступна для предварительного просмотра по адресу: