uploader-bot/docs/MANUAL_SSL_SETUP.md

98 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ручная настройка 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