Files
remnawave-minishop/docs/troubleshooting/logs.md
T
2026-05-26 17:26:46 +03:00

105 lines
4.6 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.
# Логи
Логи - главный источник диагностики при проблемах запуска, платежей, вебхуков и синхронизации с Remnawave Panel.
## Основные команды
```bash
docker compose logs -f backend
docker compose logs -f worker
docker compose logs -f frontend
docker compose logs migrate
```
## Что искать
- ошибки миграций в `migrate`;
- ошибки Telegram webhook и payment webhook в `backend`;
- проблемы очереди вебхуков и фоновых задач в `worker`;
- ошибки проксирования `/api`, `/auth` и theme assets во `frontend`;
- ошибки авторизации Mini App и Telegram OAuth.
## Frontend proxy, `/api`, `/auth` и theme assets
`frontend` - это nginx-контейнер Mini App. Он отдает статику и проксирует Web App маршруты во внутренний backend WebApp server на `backend:8081`.
Сначала смотрите nginx-логи:
```bash
docker compose logs -f frontend
```
Если видите `404`, `502`, `upstream` или `connect() failed`, проверьте маршруты:
- `/api/*` и `/auth/*` должны попадать в `frontend:80`, а уже frontend проксирует их в `backend:8081`;
- `/webapp-logo`, `/webapp-uploaded-logo/*`, `/webapp-favicon/*`, `/webapp-theme-css/*` и `/webapp-theme-assets/*` тоже проксируются через frontend;
- внешний reverse proxy не должен отдельно уводить `/api` или `/auth` на webhook-сервер `backend:8080`.
Быстрые проверки снаружи:
```bash
curl -i https://app.domain.com/health
curl -i https://app.domain.com/api/bootstrap
curl -i https://app.domain.com/auth/telegram/start
curl -i https://app.domain.com/webapp-theme-css/dark/style.css
```
Если `/health` отвечает, а `/api/bootstrap` или theme assets падают, смотрите одновременно frontend и backend:
```bash
docker compose logs -f frontend backend
```
Где проверять конфигурацию:
- frontend nginx: `deploy/docker/frontend/nginx.conf`;
- внешний Caddy/Nginx: `deploy/examples/caddy/Caddyfile` или `deploy/examples/nginx/nginx.conf.template`;
- Web App домен: `SUBSCRIPTION_MINI_APP_URL`, он должен быть публичным HTTPS URL frontend, без `/api`, `/auth` или webhook-пути;
- WebApp server backend: `WEBAPP_ENABLED=True`, `WEBAPP_SERVER_HOST=0.0.0.0`, `WEBAPP_SERVER_PORT=8081`.
## Mini App auth и Telegram OAuth
Ошибки авторизации почти всегда видны в `backend`, потому что проверка Telegram Mini Apps `initData`, Telegram OAuth `id_token`, nonce/state и сессий выполняется на backend WebApp server.
```bash
docker compose logs -f backend
```
Ищите сообщения:
- `Telegram WebApp initData hash mismatch`;
- `Telegram WebApp initData auth_date is stale`;
- `Failed to validate Telegram WebApp initData`;
- `Telegram OAuth nonce mismatch`;
- `Telegram OAuth ID token is stale`;
- `Failed to validate Telegram OAuth ID token`;
- `Telegram OAuth token exchange failed`;
- `Telegram OAuth callback failed`;
- `WebApp auth failed`.
Для Mini App внутри Telegram проверьте:
- `SUBSCRIPTION_MINI_APP_URL` совпадает с доменом, указанным в BotFather Mini Apps;
- открывается именно HTTPS frontend-домен, а не backend webhook-домен;
- время на сервере синхронизировано, иначе `auth_date is stale`;
- `WEBAPP_AUTH_MAX_AGE_SECONDS` не слишком маленький;
- `WEBAPP_SESSION_SECRET` постоянный между рестартами.
Для Telegram OAuth вне Mini App проверьте:
- `TELEGRAM_OAUTH_CLIENT_ID` и `TELEGRAM_OAUTH_CLIENT_SECRET`;
- callback в Telegram OAuth/BotFather: `https://app.domain.com/auth/telegram/callback`;
- `/auth/telegram/start` и `/auth/telegram/callback` проходят через frontend nginx в `backend:8081`;
- в браузере после callback нет статуса `telegram_auth=invalid_state`, `invalid_token`, `not_configured`, `unauthorized` или `failed`.
Подробности по маршрутам и настройке OAuth: [Web App / Mini App](../features/web-app.md).
## После изменения конфигурации
```bash
docker compose up -d
docker compose logs -f backend worker frontend
```
См. также [проблемы](issues.md) и [развертывание](../deployment.md).