Представьте себе, что у вас дома работает несколько сервисов, таких как сайт-визитка, облачное хранилище файлов, медиасервер или игровой сервер. Каждый из них обычно слушает на своем порту, и чтобы получить к ним доступ извне, нужно запоминать эти номера или настраивать переадресацию для каждого отдельно. Это не удобно и не безопасно.
Обратный прокси работает как умный швейцар на входе в ваш домашний сервер. Вместо того, чтобы принимать запросы из Интернета прямо в комнаты, которые называются портами служб, вы устанавливаете посредника, который принимает всех на одном главном входе (обычно на 80-м и 443-м портах), определяет, кто куда хочет (по имени домена), и вежливо отправляет их в нужное место. Это решает проблему с запоминанием портов и
Настроить такой прокси вручную на чистом Nginx — задача для опытного пользователя. Нужно писать конфигурационные файлы, разбираться с SSL-сертификатами. Но есть отличное решение — Nginx Proxy Manager. Это программа с удобной веб-панелью, которая превращает сложную настройку в несколько кликов мышью.
Благодаря его простому и удобному интерфейсу вы можете легко управлять различными доменами для различных внутренних сервисов, бесплатно получать и автоматически обновлять SSL-шифрование от Let’s Encrypt, что обеспечивает безопасность вашего соединения. Это идеальный инструмент, если вы хотите упростить доступ к своим домашним сервисам.
Основные возможности
- Графический интерфейс для создания и управления прокси-хостами, где можно указывать доменные имена, IP-адреса и порты для перенаправления трафика.
- Автоматическая генерация и управление SSL-сертификатами через встроенную интеграцию c Let’s Encrypt (поддержка HTTPS).
- Простая настройка управления доступом: список разрешённых IP, HTTP Basic Auth и права пользователей.
- Работа через Docker, что облегчает установку и масштабирование сервиса.
Отличия от обычного Nginx
- Не требует ручной работы с конфигами — всё делается через веб-панель.
- Идеален для тех, кто предпочитает визуальное управление и автоматизацию задач, связанных с прокси и SSL.
Использование
- Всё управление осуществляется через веб-панель.
- После запуска можно добавлять новые приложения для проксирования, настраивать SSL и политики доступа буквально в несколько кликов
Преимущества
- Упрощение настройки обратного прокси для новичков и профессионалов.
- Безопасность благодаря централизованному SSL и спискам доступа
- Балансировка и маршрутизация трафика между разными сервисами, что повышает надёжность и производительность веб-приложений
Предварительные требования
- Linux север с установленным Docker Compose. Как установить Ubuntu Server и настроить Docker читайте в предыдущих статьях.
- Статический IP-адрес сервера. У сервера на котором будет установлен Nginx Proxy Manager не должен меняться IP-адрес, для этого в настройках вашего роутера найдите в списке клиентов ваш сервер и в настройках клиента установите галочку Static IP (в разных моделях может называться по-разному).
Установка
Создайте папку docker-compose.yml в любой папке, например, /home/user/apps. Следующей командой можно сделать следующее: создать папку с файлом и сразу же открыть ее в тестовом редакторе.
mkdir nginx-proxy && cd nginx-proxy && nano docker-compose.yml services: nginx-proxy: container_name: nginx-proxy image: 'docker.io/jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - 80:80 - 443:443 - 81:81 volumes: - data:/data - letsencrypt:/etc/letsencrypt volumes: data: letsencrypt:
Сохраняйте, выйдите из редактора nano с помощью клавиши Ctrl + X и запустите:
docker compose up -d
Описание проброшенных портов
80:80— порт на котором по-умолчанию работает любой http веб-сервер, менять нельзя443:443— порт для обработки https запросов, менять нельзя, но можете удалить, если не планируете использовать публичный домен для доступа из интернета81:81— можете установить любой, необходим для доступа к веб-интерфейсу Nginx Proxy Manager
Nginx Proxy Manager — это удобный инструмент, который помогает просто и безопасно открывать доступ к домашним сервисам (вроде камеры, медиасервера или заметок) через интернет. Он работает как посредник: принимает запросы с внешнего мира и направляет их нужному устройству в локальной сети, не требуя сложных настроек. Благодаря понятному интерфейсу, бесплатным SSL-сертификатам и поддержке доменов, он идеально подходит для домашнего использования — даже если вы не системный администратор.
Минутка теории
Для тех, кто хочет узнать, как это работает и что означают настройки, которые мы указываем
- после того как вы ввели доменное имя (homeassistant.iot) в браузере, он идет к DNS-серверу узнать на какой IP-адрес ведет этот домен
- DNS-сервер отвечает что знает этот домен и нужно идти на IP-адрес 192.168.1.111 (в нашем примере такой)
- браузер идет по IP-адресу 192.168.1.111 на порт 80 (порт 80 по-умолчанию не указывается 192.168.1.111:80 значит тоже самое), а там у нас установлен Nginx Proxy Manager
- Nginx Proxy Manager принимает запрос от браузера и по своим настройкам определяет куда нужно перенаправить (проксировать) запросы относящиеся к homeassistant.iot
- в настройках Nginx Proxy Manager у нас будет указано что все запросы на домен homeassistant.iot нужно проксировать на IP-адрес 192.168.1.200:8123 — тут у нас установлен Home Assistant
Настройка веб-интерфейса
После запуска контейнера в браузере перейдите по адресу http://192.168.1.100:81, заменив IP-адрес на тот где у вас установлен Nginx Proxy Manager — откроется форма авторизации, авторизуйтесь, укажите email и пароль по умолчанию, после входа смените пароль.

Следующие логин и пароль используются по умолчанию:
- Email: admin@example.com
- Password: changeme
Настройка локальных доменов по http
В статье о настройке Adguard Home мы установили свой локальный DNS-сервер и научились перезаписывать DNS-запросы на примере доступа к Home Assistant по локальному домену, а не по IP-адресу. Несмотря на то, что Home Assistant был доступен по домену homeassistant.iot, ему все равно требовался порт в адресе. Мы исправили проблему и вы сможете получить доступ к http://homeassistant.iot.
Перейдите в веб-интерфейс Adguar Home в раздел Фильтры -> Перезапись DNS-запросов и добавьте любые домены, которые вам нужны, но в поле IP-адрес теперь укажите адрес сервера где установлен Nginx Proxy Manager.

Вернитесь в веб-интерфейс Nginx Proxy Manager, в меню выберите Hosts -> Proxy Hosts и нажмите Add Proxy Host, заполните форму и сохраните изменения.

- Domain Names — укажите один или несколько доменов. Поле работает немного странно: сначала нужно введи домен, а потом мышкой нажать на него, для того чтобы домен добавился
- Scheme — оставьте http, т.к. ваше Home Assistant внутри сети доступен по http
- Forward Hostname / IP — введите IP-адрес сервера с Home Assistant. Если у вас Home assistant или другой сервис так же развернут в докер контейнере на этой же машине, то вы можете указывать адрес 172.17.0.1
- Forward Port — укажите порт, по которому у вас доступен Home Assistant, по-умолчанию это 8123
- Websockets Support — включите поддержку веб-сокетов
Попробуйте использовать браузер для доступа к вашему домену, который в нашем случае — homeassistant.iot. Если вы увидите ошибку «Неправильный запрос», это означает, что все настроили правильно. Для обеспечения безопасности Home Assistant ограничивает доступ, но сейчас мы исправим это. Все должно уже работать для других сервисов, которые не имеют такой проверки безопасности. Например, вы можете добавить отдельный домен для доступа к Zigbee2MQTT.
Если веб-браузеры обнаруживают необычные доменные зоны, они обычно перенаправляются на протокол https или используют поиск. Выполните проверку, чтобы убедиться, что браузер не перенаправил на https, а затем полностью укажите адресную строку http://homeassistant.iot.
Настройка Home Assistant
Откройте файл конфигурации Home Assistant configuration.yaml, добавьте следующий код и перезагрузите Home Assisatnt:
http: use_x_forwarded_for: true trusted_proxies: - 192.168.1.111
Вместо 192.168.1.111 укажите IP-адрес сервера где установлен Nginx Proxy Manager. Эта конфигурация разрешает достук к Home Assistant с IP-адресов указанных в списке, в данном случае у нас он один.
Проверьте, есть ли секция http в файле configuration.yaml. Включите код, если он есть.
После перезагрузки Home Assistant попробуйте зайти на ваш домен (http://homeassistant.iot), и все должно быть хорошо.
Nginx Proxy Manager — это отличный способ превратить ваш домашний сервер в полноценный хаб для разных веб-сервисов. Он позволяет аккуратно собрать все ваши проекты под одной крышей, сделав доступ к ним удобным и безопасным. Больше не нужно путаться в разных портах или IP-адресах — у каждого сервиса будет своё запоминающееся доменное имя.
Эта система выполняет все сложные операции с SSL-сертификатами, что особенно важно. Вы можете получить безопасное HTTPS-соединение всего за несколько кликов, не вникая в рутинные процедуры. Это не только сохраняет ваши данные, но и предотвращает ошибки, которые легко допускаются при ручной настройке.
Главное преимущество — наглядность. Вместо того, чтобы вручную редактировать конфигурационные файлы, вы работаете с простым веб-интерфейсом, который позволяет легко экспериментировать и легко изменять настройки. Создать новый прокси, выдать сертификат или ограничить доступ можно за минуту, даже если вы не системный администратор.
В итоге, Nginx Proxy Manager — это идеальный мост между мощью профессиональных инструментов и простотой, которая нужна дома. Он освобождает время и силы, позволяя сосредоточиться на самом интересном — на ваших проектах и сервисах, а не на бесконечной возне с их настройкой.








