initial commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
# Развёртывание 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
|
||||
|
||||
```bash
|
||||
cd /opt/uno-click
|
||||
|
||||
# Пересоберите образ site
|
||||
docker compose build site
|
||||
|
||||
# Запустите все сервисы
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## 4. Проверка
|
||||
|
||||
- Сайт: https://uno-click.pip-test.ru/
|
||||
- BFF API: https://uno-click.pip-test.ru/api/health
|
||||
|
||||
## 5. Логи
|
||||
|
||||
```bash
|
||||
# Все сервисы
|
||||
docker compose logs -f
|
||||
|
||||
# Конкретный сервис
|
||||
docker compose logs -f site
|
||||
docker compose logs -f bff
|
||||
```
|
||||
|
||||
## 6. Обновление
|
||||
|
||||
```bash
|
||||
# Пересобрать и перезапустить site
|
||||
docker compose build site
|
||||
docker compose up -d site
|
||||
```
|
||||
|
||||
## CSRF защита
|
||||
|
||||
Используется автоматическая CSRF защита через:
|
||||
- **SameSite=Lax** cookie — браузер автоматически блокирует cross-site запросы
|
||||
- Cookie автоматически отправляются с same-origin запросами
|
||||
- Не нужно вручную передавать `x-csrf-token` в заголовках
|
||||
Reference in New Issue
Block a user