uploader-bot/docs/MANUAL_SSL_SETUP.md

3.1 KiB
Raw Permalink Blame History

Ручная настройка SSL для MY Network Bootstrap Node

Проблема

Пользователь service не имеет sudo прав для настройки nginx и SSL сертификатов.

Решение

Необходимо выполнить команды от имени root.

Инструкция

1. Подключение к серверу как root

ssh root@2.58.65.188

2. Копирование скрипта

cp /home/service/setup_nginx_ssl.sh /root/
chmod +x /root/setup_nginx_ssl.sh

3. Запуск настройки SSL

cd /root
./setup_nginx_ssl.sh

Альтернативный способ - добавить service в sudoers

1. Подключиться как root

ssh root@2.58.65.188

2. Добавить service в sudoers

echo "service ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/service

3. Запустить скрипт от service

su - service
cd /home/service
sudo ./setup_nginx_ssl.sh

Что делает скрипт setup_nginx_ssl.sh

  1. Обновляет систему и устанавливает nginx, certbot, ufw
  2. Настраивает firewall (UFW):
    • Разрешает SSH (22), HTTP (80), HTTPS (443)
    • Блокирует остальные порты
  3. Получает SSL сертификат от Let's Encrypt для домена my-public-node-3.projscale.dev
  4. Настраивает nginx:
    • HTTP -> HTTPS redirect
    • Proxy для MY Network сервиса (порт 15100)
    • Security headers
    • Rate limiting
    • CORS headers
  5. Настраивает автообновление SSL сертификатов через cron
  6. Проверяет работоспособность всех компонентов

Ожидаемый результат

После выполнения скрипта MY Network Bootstrap Node будет доступен по HTTPS:

Безопасность

  • SSL/TLS сертификат от Let's Encrypt
  • HTTP -> HTTPS redirect
  • Security headers (HSTS, X-Frame-Options, etc.)
  • Rate limiting для API endpoints
  • Firewall (UFW) с минимальными открытыми портами
  • Автообновление SSL сертификатов

Проверка после установки

# Проверка nginx
systemctl status nginx

# Проверка MY Network сервиса
systemctl status my-network

# Проверка SSL сертификата
curl -I https://my-public-node-3.projscale.dev

# Проверка API
curl https://my-public-node-3.projscale.dev/api/my/health

# Логи nginx
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log