Всем привет!!!
Главный недостатком TOS на TerraMaster является отсутствие возможности получать бесплатные SSL сертификаты, но как всегда решение этой задачи имеется.
![](https://bafista.ru/wp-content/uploads/2023/10/terramaster-proxymanager-logo01-1024x613.jpg)
Оглавление
Введение
После приобретения NAS от компании TerraMaster я задумался о том как получать сертификаты SSL. В ручную это сделать можно, но каждые 90 дней вручную обновлять SSL сертификат не сильно хочется. Поэтому я задумался как автоматизировать этот процесс и на помощь мне пришел Nginx Proxy Manager. В этой статье я расскажу как установить Nginx Proxy Manager на TerraMaster в контейнер Docker и покажу скриншоты интерфейса с возможностями.
Кому это нужно? Это нужно тем, что хочет подключаться к своему TerraMaster по DDNS (динамический белый IP) или собственному купленному доменному имени (статический белый IP) по защищенному соединению SSL.
Nginx Proxy Manager – это веб-приложение работающее в контейнере Docker, которое позволяет пользователям легко управлять обратным прокси-сервером Nginx. С помощью него можно развертывать, управлять и масштабировать веб-приложения на сервере с минимальными усилиями. А встроенная поддержка Let’s Encrypt позволяет получать бесплатные сертификаты для доменов.
Необходимые условия:
- Поддержка контейнера Docker
- Белый IP адрес (динамический или статический)
- Желание и понимание
Установка
Первым делом нужно освободить порты 80 и 443 на TerraMaster. Для этого откройте панель управления, сеть и установите соответствующую опцию как показано на картинке ниже.
Внимание!!! После этого вход в TOS будет доступен только если введете номер порта http(s)://IPorDomane:PORT
![](https://bafista.ru/wp-content/uploads/2023/10/image-99-1024x714.png)
Затем нужно придумать, где будет лежать конфигурация нашего будущего контейнера. Для этого я создал общую папку Docker, а в ней папку nginx-proxy-manager, в которой создал еще две пустые папки data и letsencrypt
![](https://bafista.ru/wp-content/uploads/2023/10/image-102-1024x714.png)
Теперь открываем Docker Manager, если он у вас еще не установлен, то установите через центр приложений. Переходим в реестр и в поиске вводим nginx-proxy-manager. Нужно найти контейнер который показан на картинке ниже и скачать его.
![](https://bafista.ru/wp-content/uploads/2023/10/image-100-1024x714.png)
Теперь идем во вкладку Images и ждем окончания скачивания. Когда образ скачается, выделяем его и нажимаем запустить.
![](https://bafista.ru/wp-content/uploads/2023/10/image-101-1024x714.png)
В открывшемся окне придумываем название, ставим опцию автоматического старта после перезагрузки и жмем далее. Если хотите, то можно установить лимиты, но это можно сделать и потом.
![](https://bafista.ru/wp-content/uploads/2023/10/image-103-1024x714.png)
Во время настройки тома добавляем сначала папку data и указываем путь к ней /data как показано на картинке ниже
![](https://bafista.ru/wp-content/uploads/2023/10/image-104-1024x714.png)
То же самое проделываем с папкой letsencrypt, но только путь указываем /etc/letsencrypt. Должно получиться как на картинке ниже
![](https://bafista.ru/wp-content/uploads/2023/10/image-105-1024x714.png)
Сеть оставляем bridge
![](https://bafista.ru/wp-content/uploads/2023/10/image-106-1024x714.png)
Порты редактируем так, что бы было четкое соответствие порта к порту как показано на картинке ниже
![](https://bafista.ru/wp-content/uploads/2023/10/image-107-1024x714.png)
На этом этапе жмем далее
![](https://bafista.ru/wp-content/uploads/2023/10/image-108-1024x714.png)
И на этом этапе ничего не меняем
![](https://bafista.ru/wp-content/uploads/2023/10/image-109-1024x714.png)
Не меняем ничего и сейчас
![](https://bafista.ru/wp-content/uploads/2023/10/image-110-1024x714.png)
На заключительном этапе проверям все настройки и жмем подтвердить
![](https://bafista.ru/wp-content/uploads/2023/10/image-111-1024x714.png)
Если все сделали правильно, то на вкладке контейнеров увидите запущенный контейнер и значит можно переходить к следующему этапу
![](https://bafista.ru/wp-content/uploads/2023/10/image-112-1024x714.png)
Первое подключение
Открываем в браузере новую вкладку и вбиваем http://IP-NAS:81 после чего откроется такое окно
Логин и пароль по умолчанию:
Email: admin@example.com
Password: changeme
![](https://bafista.ru/wp-content/uploads/2023/10/image-113-1024x714.png)
При первом входе нужно заменить логин и почту на вашу
![](https://bafista.ru/wp-content/uploads/2023/10/image-114-1024x714.png)
Затем нужно заменить пароль по умолчанию на ваш
![](https://bafista.ru/wp-content/uploads/2023/10/image-115-1024x714.png)
Первоначальная настройка закончена и можно настраивать обратный прокси на TerraMaster и получать для нужных доенов SSL сертификаты.
![](https://bafista.ru/wp-content/uploads/2023/10/image-116-1024x714.png)
Настройка роутера
На роутере необходимо пробросить порты 80 и 443 на ваш TerraMaster. Как это сделать читайте в документации от вашего роутера.
Бегло про настройки
Что бы получить SSL сертификат, домен на который получается сертификат должен быть доступен из интернета по 80 порту, а лучше еще и по 443 порту.
![](https://bafista.ru/wp-content/uploads/2023/10/image-118-1024x714.png)
Ограничение с 80 портом можно обойти, если нужно, используя вариант подтверждения прав на домен средствами DNS Challenge. Для этого в списке есть много DNS провайдером. Самые распространенные это ClouDNS и reg.ru. Нужно только в этих сервисах создать токены для доступа к управлению DNS записями домена.
![](https://bafista.ru/wp-content/uploads/2023/10/image-119-1024x714.png)
Ну а что бы сделать обратный прокси, то создаем его уже в соответствующем разделе. Тут нужно указать домен, IP и порт назначения, так же есть очень много дополнительных функций, которые прям таки радуют своим наличием.
![](https://bafista.ru/wp-content/uploads/2023/10/image-120-1024x714.png)
На этом статья Установка Nginx Proxy Manager на TerraMaster завершена, настраивайте ваши обратные прокси, получайте бесплатные SSL сертификаты и пользуйтесь вашим TerraMaster в защищенных соединениях.
Пример работы
![](https://bafista.ru/wp-content/uploads/2023/10/screenshot.gif)