mnemo_cards/tools/deploy/web-app/VSCODE_README.md
2025-11-16 16:54:50 +03:00

3.1 KiB
Raw Blame History

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 сервис и автоматически запускается при перезагрузке сервера.

# Проверить статус
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