mnemo_cards/tools/deploy/web-app/VSCODE_README.md

71 lines
3.1 KiB
Markdown
Raw Normal View History

2025-11-16 13:54:50 +00:00
# VSCode Server Setup
VSCode (code-server) успешно установлен на сервере и доступен по адресу:
**URL:** https://vscode.mnemo-cards.online
## Учетные данные для входа
- **Username:** vscode
- **Password:** AGktOidxrah1KVC0
## Доступ
- ✅ Доступен только по домену vscode.mnemo-cards.online
- ❌ Заблокирован доступ по IP адресу сервера
- 🔒 Защищен SSL сертификатом от Let's Encrypt
## Служба
Code-server запущен как systemd сервис и автоматически запускается при перезагрузке сервера.
```bash
# Проверить статус
sudo systemctl status code-server
# Перезапустить
sudo systemctl restart code-server
# Остановить
sudo systemctl stop code-server
```
## Конфигурация
- Порт: 8080 (локально, проксируется через nginx)
- Пользователь: vscode
- Конфигурационный файл: `/home/vscode/.config/code-server/config.yaml`
## Рабочая директория
- **Домашняя директория:** `/home/vscode`
- **Репозиторий:** `/home/vscode/cards` (символическая ссылка: `/root/cards`)
- **Файлы конфигурации:** `/home/vscode/.config/code-server/`
## Безопасность
- 🔐 **Аутентификация:** Сильный пароль (16 символов)
- 🔒 **SSL/TLS:** Полностью шифрованное HTTPS соединение с сертификатом Let's Encrypt
- 🚫 **Доступ по IP:** Заблокирован - только по домену vscode.mnemo-cards.online
- 🛡️ **Rate Limiting:**
- Логин: максимум 5 попыток в минуту
- Общие запросы: максимум 30 запросов в минуту с burst до 10
- 🔨 **Fail2Ban:** Автоматическая блокировка IP при подозрительной активности
- 3 неудачные попытки логина → бан на 1 час
- DDoS защита: 100 запросов в минуту → бан на 10 минут
- 👤 **Пользователь:** Отдельный пользователь vscode без sudo прав
- 📁 **Файловая система:** Полный доступ к своему репозиторию
- 🔄 **Автообновление:** SSL сертификаты обновляются автоматически
## Обновление сертификатов
SSL сертификаты автоматически обновляются через cron job certbot.
## Устранение неполадок
Если возникли проблемы с доступом:
1. Проверьте статус code-server: `sudo systemctl status code-server`
2. Проверьте nginx конфигурацию: `sudo nginx -t`
3. Проверьте логи: `sudo journalctl -u code-server -f`