2.5 KiB
2.5 KiB
Развёртывание production сайта
Архитектура
┌─────────────────────────────────────────────────────────┐
│ HTTPS :443 │
│ (host nginx + Let's Encrypt) │
└────────────────────┬────────────────────────────────────┘
│
┌───────────┴───────────┐
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Next.js site │ │ BFF API │
│ localhost:3000 │ │ localhost:3001 │
│ (Docker) │ │ (Docker) │
└─────────────────┘ └─────────────────┘
1. SSL сертификат (уже установлен)
Сертификаты находятся в /etc/letsencrypt/live/uno-click.pip-test.ru/
2. Конфигурация nginx (обновлена)
Хост nginx проксирует запросы:
/→ Next.js на127.0.0.1:3000/api/→ BFF на127.0.0.1:3001/files/→ MinIO на127.0.0.1:9000
3. Запуск через docker-compose
cd /opt/uno-click
# Пересоберите образ site
docker compose build site
# Запустите все сервисы
docker compose up -d
4. Проверка
5. Логи
# Все сервисы
docker compose logs -f
# Конкретный сервис
docker compose logs -f site
docker compose logs -f bff
6. Обновление
# Пересобрать и перезапустить site
docker compose build site
docker compose up -d site
CSRF защита
Используется автоматическая CSRF защита через:
- SameSite=Lax cookie — браузер автоматически блокирует cross-site запросы
- Cookie автоматически отправляются с same-origin запросами
- Не нужно вручную передавать
x-csrf-tokenв заголовках