Оглавление
Настройка
Настройка reverse proxy и TLS.
Reverse proxy и TLS
Создайте публичный DNS-домен, направленный на внешний IP сервера, и настройте HTTPS на порту 443 с действующим TLS-сертификатом. Reverse proxy — единая точка входа для пользователей платформы: он принимает трафик на стандартном порту 443 и направляет его на внутренние сервисы, скрывая их порты от прямого доступа из интернета и централизованно завершая TLS. HTTPS обязателен: трафик между браузером и платформой шифруется, а без действующего сертификата браузеры блокируют доступ или помечают соединение как небезопасное. Через reverse proxy проходят запросы к API платформы (веб-панель и публичный API): направляйте их на порт 10001 (gateway), а страницы веб-панели — на порт 10011.
Конфигурация Nginx
Создайте файл конфигурации /etc/nginx/sites-available/massaccess.conf. Замените ms.company.ru на ваш домен и укажите актуальные пути к TLS-сертификатам. Инструкция предполагает nginx, установленный из репозитория ОС (Debian/Ubuntu).
# /etc/nginx/sites-available/massaccess.conf
server {
listen 443 ssl http2;
server_name ms.company.ru;
ssl_certificate /etc/letsencrypt/live/ms.company.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ms.company.ru/privkey.pem;
client_max_body_size 10M;
# Web panel API
location /web/api/ {
proxy_pass http://127.0.0.1:10001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Web panel WebSocket
location /web/api/ws/ {
proxy_pass http://127.0.0.1:10001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Public API
location /api/ {
proxy_pass http://127.0.0.1:10001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Web panel
location / {
proxy_pass http://127.0.0.1:10011;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# HTTP -> HTTPS redirect
server {
listen 80;
server_name ms.company.ru;
return 301 https://$host$request_uri;
}Подключите конфигурацию симлинком, проверьте и перезагрузите nginx:
ln -s /etc/nginx/sites-available/massaccess.conf /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginxЕсли nginx работает в Docker, положите файл massaccess.conf в каталог, смонтированный в контейнер как /etc/nginx/conf.d/ — nginx автоматически подключает все файлы *.conf из этого каталога. Например, в docker compose добавьте в сервис nginx том ./nginx/conf.d:/etc/nginx/conf.d. Затем примените изменения:
docker exec nginx nginx -t && docker exec nginx nginx -s reload