[Модуль] mdmproxy

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Ответить
directman66
Сообщения: 2424
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 344 раза
Поблагодарили: 504 раза
Контактная информация:

[Модуль] mdmproxy

Сообщение directman66 » Вт авг 27, 2019 12:39 am

Веду разработку диспетчера виртуальных хостов для majordomo, который бы мог управлять конфигурационными файлами вашего сервера. Ваш сервер мажордомо будет использоваться в качестве обратного прокси сервера
(https://ru.wikipedia.org/wiki/%D0%9E%D0 ... 1%81%D0%B8)
Таким образом появится возможность автоматического добавления ресурсов вашей домашней сети (роутеры, различные железки с web-мордой (wifi-iot, tasmota), виртуальные машины docker и тп.) в ссылки вашего сервера.

Например:
1) роутер будет доступен по адресу http://youip/router/
2) portainer (по моему мнению лучший gui менеджер управления контейнерами docker) будет доступен по адресу http://yourip/portainer/
3) wetty(консольный ssh доступ с полноценной поддержкой xterm и midnight commander) будет доступен по адресу http://yourip/wetty/

Использование обратного прокси сервера позволит управлять всем вашим оборудованием при отсутствии прямого доступа. Внимание, вывод системы в открытый интернет несет в себе серьезные риски хакерских атак и получения персональных данных третьими лицами. Используйте, только оценив риски.

Настройка:
1) Для корректной работы должны быть установлены следующие модули для apache2:

mod_proxy
mod_proxy_html
mod_proxy_http
mod_rewrite
mod_substitute
mod_proxy_balancer
mod_alias

Включить можно командой:
sudo a2enmod proxy proxy_html proxy_http rewrite substitute proxy_balancer alias

Посмотреть установленные можно по команде sudo apachectl -M
2) В конфигурационный файл /etc/apache2/apache2.conf в конце файла нужно добавить строку
IncludeOptional /var/www/modules/mdmproxy/apache/sites-enable/*.conf #mdmproxy line

Это можно сделать из консоли
sudo echo "IncludeOptional /var/www/modules/mdmproxy/apache/sites-enable/*.conf #mdmproxy line">>/etc/apache2/apache2.conf

3) Для корректного перезапуска apache2 из админки модуля пользователь www-data должен иметь права запуска systemctl без пароля.

Модуль пока тестируется apache2. В дальнейшем планируется переход на nginx.

Реализовано:
1) проверка установленных модулей apache2
2) проверка IncludeOptional
3) тестирование конфигов apache2 на наличие ошибок
4) перезапуск apache2 через systemctl при отсутствии ошибок в конфигах сервера.

Планы:
1) Автоматическая генерация файлов виртуальных хостов
2) nginx

Задачи, которые пока не знаю как точно решить:
1) Если на хосте в коде стоит редирект в корень сервера, он пока не работает (роутер asus например) https://github.com/directman66/majordom ... outer.conf_
2) Пока не могу победить переадресацию websocket для wetty https://github.com/directman66/majordom ... wetty.conf_

Если кого заинтересовал данный проект, давайте вместе разберем конфиги для корректной работы.

Проект в коннект https://connect.smartliving.ru/addons/c ... 5/195.html
Проект в github https://github.com/directman66/majordomo-mdmproxy
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram | +79122962262 WhatsApp
Ответить