MeshCentral — это удобный и мощный инструмент для удалённого управления компьютерами и серверами, позволяющий легко управлять устройствами прямо через веб-интерфейс. Однако для полноценного использования инструмента в локальной сети и вне её часто возникает необходимость обеспечить безопасный доступ к серверу из Интернета. Именно для этого мы будем использовать Nginx Proxy Manager в роли обратного прокси-сервера, который обеспечит удобное и безопасное подключение к нашему серверу MeshCentral из любого места.
MeshCentral — это мощная платформа с открытым исходным кодом для удалённого управления компьютерами и устройствами через веб-интерфейс. Система позволяет администраторам контролировать и мониторить устройства из единой консоли, обеспечивая полный спектр функций для управления IT-инфраструктурой.
Nginx Proxy Manager — это веб-приложение с графическим интерфейсом для управления обратными прокси-серверами на базе Nginx
Содержание:
Предварительные требования
-
Установленный и настроенный Nginx Proxy Manager
-
Доменное имя для MeshCentral
1. Настройка Nginx Proxy Manager
Переходим в панель управления Nginx Proxy Manager:
1. Создаём новый прокси-хост для доменного имени, по которому будет доступен MeshCentral:
1.1. На вкладке "Details" указываем доменное имя, по которому будет доступен MeshCentral
1.2. Указываем протокол, ip адрес машины с MeshCentral и порт на котором он работает
1.3. На вкладке "Custom locations" указываем расположение "/", протокол, ip адрес машины с MeshCentral и порт на котором он работает и дополнительные настройки:
Код дополнительных настроек:
# Inform MeshCentral about the real host, port and protocol
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Дополнительные настройки
proxy_send_timeout 330s;
proxy_read_timeout 330s;
proxy_connect_timeout 330s;
1.4. На вкладке "SSL" задаем параметры генерации сертификата Let’s Encrypt:
1.5. Сохраняем изменения.
2. Настройка MeshCentral
2.1. Подключаемся к серверу MeshCentral и приводим конфигурационный файл meshcentral-config-schema.json к виду:
{
// Схема JSON-файла конфигурации MeshCentral
"$schema": "https://raw.githubusercontent.com/Ylianst/MeshCentral/master/meshcentral-config-schema.json",
// Основные настройки сервера MeshCentral
"settings": {
// Имя домена сертификата SSL/TLS
"cert": "доменное имя",
// Основной порт HTTPS
"port": 4430,
// Альтернативный порт для виртуального хоста (можете использовать 443, если ваш хост поддерживает виртуализацию)
"aliasPort": 443,
// Порт для перенаправления HTTP-запросов на HTTPS
"redirPort": 800,
// Внешний адрес для разгрузки TLS-загрузок (например, балансировщика нагрузки)
"TLSOffload": "ip-адрес обратного прокси-сервера",
// Отключаем автоматическое обновление серверной части (лучше отключить, если управляете обновлениями вручную)
"SelfUpdate": false,
// Запрещаем включение фреймов для предотвращения XSS-атак
"AllowFraming": false,
// Включаем поддержку WebRTC для улучшенной производительности удалённых подключений
"WebRTC": true,
// Настройки базы данных PostgreSQL
"postgres": {
// Хост базы данных (локально или удалённо)
"host": "localhost",
// Пользователь базы данных
"user": "пользователь базы данных",
// Порт базы данных (стандартный для PostgreSQL)
"port": 5432,
// Пароль пользователя базы данных
"password": "пароль пользователя базы данных",
// Название базы данных
"database": "meshcentral_db"
}
},
// Настройка областей видимости (доменов) сервиса
"domains": {
// Главная область («»), используемая по умолчанию
"": {
// Заголовок главной области
"title": "Remote Control",
// Дополнительный заголовок
"title2": "дополнительный заголовок",
// Полный адрес сайта с сертификатом
"certUrl": "https://адрес сайта с сертификатом",
// Информация в подвале страницы
"footer": "Support"
}
},
// Настройки SMTP для отправки писем (используются для регистрации, восстановления паролей и уведомлений)
"smtp": {
// Сервер SMTP
"host": "сервер SMTP",
// Порт SMTP (обычно 465 для защищённой доставки)
"port": 465,
// Адрес отправителя писем
"from": "адрес отправителя писем",
// Авторизация на SMTP-сервере
"user": "адрес отправителя писем",
// Пароль аккаунта для авторизации
"pass": " пароль аккаунта для авторизации",
// Включаем шифрование TLS для защиты соединений
"tls": true
}
}
2.2. Сохраняем изменения и перезапускаем MeshCentral.
Теперь MeshCentral будет доступен по нашему адресу на порту 443 через обратный прокси-сервер.