# Ручная настройка SSL для MY Network Bootstrap Node ## Проблема Пользователь `service` не имеет sudo прав для настройки nginx и SSL сертификатов. ## Решение Необходимо выполнить команды от имени root. ## Инструкция ### 1. Подключение к серверу как root ```bash ssh root@2.58.65.188 ``` ### 2. Копирование скрипта ```bash cp /home/service/setup_nginx_ssl.sh /root/ chmod +x /root/setup_nginx_ssl.sh ``` ### 3. Запуск настройки SSL ```bash cd /root ./setup_nginx_ssl.sh ``` ## Альтернативный способ - добавить service в sudoers ### 1. Подключиться как root ```bash ssh root@2.58.65.188 ``` ### 2. Добавить service в sudoers ```bash echo "service ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/service ``` ### 3. Запустить скрипт от service ```bash 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: - **https://my-public-node-3.projscale.dev** - основной сайт - **https://my-public-node-3.projscale.dev/api/my/health** - health check - **https://my-public-node-3.projscale.dev/api/my/bootstrap/config** - bootstrap конфигурация - **https://my-public-node-3.projscale.dev/api/my/monitor/** - веб-мониторинг ## Безопасность - ✅ SSL/TLS сертификат от Let's Encrypt - ✅ HTTP -> HTTPS redirect - ✅ Security headers (HSTS, X-Frame-Options, etc.) - ✅ Rate limiting для API endpoints - ✅ Firewall (UFW) с минимальными открытыми портами - ✅ Автообновление SSL сертификатов ## Проверка после установки ```bash # Проверка 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