Защита веб-приложений с Authelia и Nginx Proxy Manager на личном VPS
Коротко
Authelia — это система единого входа и многофакторной аутентификации для веб-приложений, а Nginx Proxy Manager — удобный веб-интерфейс для управления обратным прокси и SSL-сертификатами. Вместе они позволяют защитить доступ к вашим сервисам на личном VPS: все запросы сначала проходят через Authelia для проверки логина и 2FA, а затем через Nginx Proxy Manager для маршрутизации и TLS. С SANSARA вы п
Настройка Authelia с Nginx Proxy Manager на личном VPS SANSARA: что это, как работает, пошаговая установка и конфигурация для защиты веб-приложений через единый вход и обратный прокси в 2026 году.
Authelia — это система единого входа и многофакторной аутентификации для веб-приложений, а Nginx Proxy Manager — удобный веб-интерфейс для управления обратным прокси и SSL-сертификатами. Вместе они позволяют защитить доступ к вашим сервисам на личном VPS: все запросы сначала проходят через Authelia для проверки логина и 2FA, а затем через Nginx Proxy Manager для маршрутизации и TLS. С SANSARA вы получаете готовый личный VPS с данными в кабинете и импортом в клиент без терминала, что упрощает настройку такой связки для домашней или рабочей инфраструктуры.
Коротко:
- Authelia — сервер аутентификации с единым входом и 2FA для веб-приложений.
- Nginx Proxy Manager — веб-панель для настройки обратного прокси и SSL.
- Связка работает как шлюз: сначала проверка в Authelia, затем маршрутизация через NPM.
- SANSARA предоставляет личный VPS с данными в кабинете и импортом в клиент.
- Устройства: iPhone, Android, Windows, macOS.
- Telegram-бот SANSARA помогает управлять подпиской и получать уведомления.
Что это такое и зачем нужно
Authelia — это приложение для централизованной аутентификации и авторизации. Оно проверяет логин и пароль, поддерживает двухфакторную аутентификацию (например, через TOTP-приложения) и может работать как единая точка входа для нескольких веб-сервисов. Authelia не заменяет сами приложения, а становится перед ними «стражем»: если пользователь не прошёл проверку, он не получит доступ к защищённым ресурсам.
Nginx Proxy Manager (NPM) — это обёртка над Nginx с веб-интерфейсом. Вместо правки конфигов вручную вы настраиваете хост-правила, порты и SSL-сертификаты через графическую панель. NPM удобен для домашних и небольших рабочих сред, где не нужны сложные корпоративные балансировщики.
В связке Authelia + Nginx Proxy Manager:
- NPM принимает входящие HTTPS-запросы и перенаправляет их на внутренние сервисы.
- Authelia перехватывает запросы к защищённым приложениям, проверяет аутентификацию и только после успеха передаёт управление обратно в NPM для маршрутизации.
- Пользователь видит единую страницу входа для всех сервисов, а администратор управляет доступом централизованно.
Такой подход полезен, если вы хотите:
- Защитить доступ к личным или рабочим веб-приложениям (например, панелям мониторинга, файловым менеджерам, Git-серверам).
- Использовать единый вход вместо отдельных логинов в каждом сервисе.
- Добавить двухфакторную аутентификацию для критичных ресурсов.
- Упростить управление SSL и доменами через веб-интерфейс.
SANSARA подходит для этой задачи, потому что предоставляет личный VPS с выделенным узлом, а не общий перегруженный пул. Вы получаете полный контроль над сервером, но без необходимости устанавливать базовую инфраструктуру вручную — данные для подключения уже есть в кабинете после регистрации.
Как настроить с SANSARA (пошагово)
Ниже — обобщённая инструкция по настройке связки Authelia + Nginx Proxy Manager на личном VPS от SANSARA. Конкретные команды могут немного отличаться в зависимости от дистрибутива, но логика шагов остаётся одинаковой.
Шаг 1. Регистрация и получение личного VPS
- 01Зарегистрируйтесь в SANSARA и выберите тариф с личным VPS.
- 02В кабинете вы увидите данные для подключения: IP-адрес, логин, пароль или ключ, порт.
- 03Используйте эти данные для импорта в клиент на вашем устройстве (см. раздел «Устройства»).
SANSARA предлагает узлы в 9+ странах (Европа и другие регионы), что позволяет выбрать географически близкий сервер для лучшей задержки. Статус узлов можно проверить на живой панели статусов на сайте.
Шаг 2. Подготовка сервера
После подключения к личному VPS через клиент выполните базовую подготовку:
- Обновите систему (например, apt update && apt upgrade -y для Debian/Ubuntu).
- Установите Docker и Docker Compose — это упростит развёртывание Authelia и NPM.
- Настройте фаервол, открыв порты 80 и 443 для веб-трафика, а также порт для управления сервером (например, SSH).
Шаг 3. Установка Nginx Proxy Manager
NPM удобно запускать в Docker. Пример docker-compose.yml для NPM:
`yaml version: '3' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
`
Здесь:
- Порт 81 — веб-панель управления NPM.
- /data и /etc/letsencrypt — томы для хранения конфигов и сертификатов.
Запустите композ: docker-compose up -d. Откройте в браузере http://ваш-ip:81, войдите с дефолтными данными (обычно admin@example.com / changeme) и смените пароль.
Шаг 4. Установка Authelia
Authelia также удобно запускать в Docker. Пример docker-compose.yml для Authelia:
`yaml version: '3' services: authelia: image: authelia/authelia:latest restart: unless-stopped volumes:
- ./authelia/config:/config
ports:
- '9091:9091'
environment:
- TZ=Europe/Moscow
`
Перед запуском нужно создать конфигурационный файл configuration.yml в папке authelia/config. Минимальный пример:
`yaml theme: light jwt_secret: ваш-секретный-ключ default_redirection_url: https://ваш-домен.example server: host: 0.0.0.0 port: 9091 authentication_backend: file: path: /config/users_database.yml access_control: default_policy: deny rules:
- domain: "ваш-домен.example"
policy: two_factor session: secret: другой-секретный-ключ domain: ваш-домен.example regulation: max_retries: 3 find_time: 2m ban_time: 5m storage: local: path: /config/db.sqlite3 notifier: filesystem: filename: /config/notification.txt `
В users_database.yml задайте пользователей и хеши паролей (можно сгенерировать через Authelia CLI).
Запустите Authelia: docker-compose up -d.
Шаг 5. Настройка связки Authelia + NPM
- 01В NPM создайте Proxy Host для вашего домена:
- Domain Names: ваш-домен.example
- Forward Hostname/IP: IP Authelia (например, 172.17.0.3 или имя контейнера)
- Forward Port: 9091
- Включите SSL, получите сертификат через Let’s Encrypt.
- 01В настройках этого Proxy Host добавьте Advanced конфиг для Nginx, чтобы передавать заголовки аутентификации в Authelia. Пример:
`nginx location / { set $upstream_authelia http://authelia:9091;
location /api/verify { proxy_pass $upstream_authelia; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; }
auth_request /authelia; error_page 401 =302 https://ваш-домен.example?rd=$request_uri;
location /authelia { internal; proxy_pass $upstream_authelia/api/verify; proxy_set_header Host $host; proxy_set_header X-Original-URL $scheme://$host$request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; }
proxy_pass http://ваше-приложение:порт; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; } `
- 01Настройте другие Proxy Host для ваших сервисов (например, панель мониторинга, файловый менеджер) и укажите для них аналогичные правила с auth_request на Authelia.
После этого при попытке доступа к защищённому домену пользователь сначала увидит форму входа Authelia, а после успешной проверки попадёт в целевое приложение.
Шаг 6. Проверка работы
- 01Откройте в браузере защищённый домен (например, https://monitor.ваш-домен.example).
- 02Должна появиться форма входа Authelia.
- 03Войдите с логином/паролем и, если настроено, подтвердите через 2FA.
- 04После успеха вы должны оказаться в целевом приложении.
Если что-то не работает:
- Проверьте логи Authelia и NPM через docker logs.
- Убедитесь, что IP/порты в конфигах соответствуют реальным контейнерам.
- Проверьте, что домен правильно резолвится на IP вашего VPS.
Telegram-бот SANSARA может помочь с уведомлениями о состоянии сервера и подписки, но не участвует напрямую в настройке Authelia или NPM.
Устройства: iPhone, Android, Windows, macOS
Связка Authelia + Nginx Proxy Manager работает на стороне сервера, поэтому клиентские устройства подключаются к ней через обычный браузер или специализированные клиенты. SANSARA совместима с основными платформами:
- iPhone: используйте встроенный браузер Safari или любой другой (Chrome, Firefox). Для управления сервером подойдут SSH-клиенты типа Termius. Подключение к личному VPS настраивается через импорт конфигурации из кабинета SANSARA.
- Android: браузеры Chrome, Firefox или Kiwi Browser. SSH-клиенты (Termius, ConnectBot) для администрирования. Импорт настроек из кабинета SANSARA выполняется за несколько тапов.
- Windows: браузеры Edge, Chrome, Firefox. Для подключения к VPS используйте встроенный клиент или сторонние приложения. Данные из кабинета SANSARA импортируются в несколько кликов.
- macOS: Safari, Chrome, Firefox. Встроенный терминал или iTerm2 для SSH. Настройка защищённого канала на личный VPS занимает минуты после импорта данных из кабинета.
Во всех случаях пользователь не должен вручную устанавливать панели или работать в терминале для базового подключения — SANSARA предоставляет готовые данные для импорта в клиент.
Практический чек-лист на 7–10 пунктов
Перед и после настройки Authelia + Nginx Proxy Manager на личном VPS полезно пройти по этому списку:
- 01Выберите подходящий тариф SANSARA с личным VPS в нужной локации (9+ стран на выбор).
- 02Зарегистрируйтесь и получите данные для подключения в кабинете.
- 03Импортируйте конфигурацию в клиент на вашем устройстве (iPhone, Android, Windows, macOS).
- 04Подключитесь к серверу и убедитесь, что базовый доступ работает.
- 05Установите Docker и Docker Compose для удобного управления контейнерами.
- 06Настройте Nginx Proxy Manager:
- Откройте порты 80, 443, 81.
- Запустите контейнер, войдите в панель, смените пароль.
- 01Настройте Authelia:
- Подготовьте configuration.yml и users_database.yml.
- Запустите контейнер, проверьте, что сервис отвечает на порту 9091.
- 01Свяжите Authelia и NPM:
- Создайте Proxy Host для домена Authelia.
- Добавьте Advanced-конфиг с auth_request для защищённых приложений.
- 01Проверьте аутентификацию:
- Откройте защищённый домен в браузере.
- Убедитесь, что появляется форма входа Authelia и после входа вы попадаете в приложение.
- 01Настройте уведомления через Telegram-бот SANSARA, чтобы следить за состоянием сервера и подписки.
FAQ
Зачем нужен Nginx Proxy Manager, если Authelia может работать самостоятельно?+
Authelia отвечает за аутентификацию, но не за маршрутизацию трафика и управление SSL. NPM упрощает настройку обратного прокси, выпуск и обновление сертификатов, а также предоставляет веб-интерфейс вместо ручного редактирования конфигов Nginx. В связке они дают полноценный шлюз с единым входом и удобным управлением.
Можно ли использовать Authelia + NPM без доменного имени, только по IP?+
Технически — да, но это неудобно и менее безопасно. Authelia полагается на домены для сессий и куки, а NPM использует домены для виртуальных хостов и SSL. Для продакшн-среды рекомендуется использовать домен с валидным сертификатом.
Поддерживает ли Authelia социальные логины, например через Facebook (запрещена в РФ) или Instagram (запрещена в РФ)?+
Authelia в основном работает с локальными пользователями (файл, LDAP) и поддерживает OIDC для внешних провайдеров. Прямой интеграции с Facebook или Instagram (запрещена в РФ) «из коробки» нет — потребуется настройка через OIDC-провайдера, если такая возможность предусмотрена у этих сервисов.
Нужно ли знать Nginx, чтобы использовать Nginx Proxy Manager?+
Нет, базовые задачи (добавление хостов, SSL) можно выполнять через веб-интерфейс без знания конфигов Nginx. Но для продвинутых сценариев, таких как интеграция с Authelia через auth_request, полезно понимать основы конфигурации Nginx.
Итог
- Используйте Authelia для централизованной аутентификации и двухфакторной защиты веб-приложений на личном VPS.
- Nginx Proxy Manager упрощает настройку обратного прокси и SSL через веб-панель.
- В связке они образуют защищённый шлюз: сначала проверка в Authelia, затем маршрутизация через NPM.
- SANSARA предоставляет личный VPS с данными в кабинете и импортом в клиент, что ускоряет развёртывание без терминала для обычного пользователя.
- Поддерживаются устройства на iPhone, Android, Windows, macOS.
- Telegram-бот SANSARA помогает получать уведомления о состоянии сервера и подписки.
Ещё по теме
Читайте также
CTA · VPSHOST
Личный VPS — без терминала и очередей
Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.