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