ДокументацияРуководство РазработчикаЧасто Задаваемые Вопросы и Решение Проблем

Руководство по устранению неполадок (Troubleshooting)

Прямые ответы и практические решения частых вопросов, возникающих при разработке и развертывании на сервере.

1. Изменения в Strapi не отображаются на витрине

Проверьте вебхуки в Strapi и убедитесь, что заголовок x-strapi-secret совпадает со значением REVALIDATE_SECRET в вашем файле .env.

.env
env
STORE_CORS=http://localhost:8000,https://store.yourdomain.com
ADMIN_CORS=http://localhost:9000,https://api.yourdomain.com
AUTH_CORS=http://localhost:8000,http://localhost:9000,https://store.yourdomain.com

2. Ошибка соединения с Medusa или товары не отображаются

Проверка Publishable API Key
Убедитесь, что публичный ключ задан в .env и товары привязаны к соответствующему каналу продаж (Sales Channel) в Medusa Admin.

3. Проблемы с автоматическими SSL-сертификатами в Caddy

Убедитесь, что DNS-запись типа A вашего домена указывает на IP вашего VPS, а порты 80 и 443 открыты в брандмауэре.

4. Ошибка Connection Refused в PostgreSQL или Redis

Убедитесь, что все контейнеры подключены к одной сети Docker и на сервере достаточно свободного места на диске.

Команды проверки состояния контейнеров
bash
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

5. Просмотр централизованных логов и диагностика

Откройте панель Portainer CE или используйте команду docker compose logs -f для диагностики ошибок в реальном времени.

Мониторинг логов в реальном времени
bash
docker compose logs -f storefront
docker compose logs -f medusa
docker compose logs -f strapi

6. Пересборка одного контейнера без остановки остальных

При обновлении кода фронтенда или бэкенда можно пересобрать только нужный сервис:

Команда пересборки одного контейнера
bash
docker compose up -d --build storefront

7. Сброс базы данных и загрузка демонстрационных данных

Для восстановления тестового каталога в среде разработки:

Команда начального заполнения демо-данными
env
docker compose exec medusa yarn seed

8. HTTP 403 Forbidden during Translation Sync from Strapi

If clicking Sync Translations from Strapi yields an HTTP 403 Forbidden error, the Public role lacks permission to read storefront settings. Go to Settings > Users & Permissions > Roles > Public, enable the find permission for both Storefront-setting and Media Library, and save.

9. Поле поиска заблокировано / Невозможно ввести текст в модальном окне

Причина: Поиск витрины использует React InstantSearch и обращается к Meilisearch напрямую из браузера клиента. Если поддомен search.yourdomain.com не добавлен в DNS Cloudflare یا браузер не может подключиться (ошибка DNS, SSL или CORS), состояние поля ввода зависает и не позволяет вводить символы.

Решение:
1. В панели Cloudflare (DNS > Records) создайте запись A для search с IP-адресом вашего VPS.
2. Проверьте доступность Meilisearch:
curl -I https://search.yourdomain.com/health
3. Убедитесь, что переменные NEXT_PUBLIC_MEILISEARCH_HOST и NEXT_PUBLIC_MEILISEARCH_SEARCH_KEY были переданы при сборке Storefront Docker.

Проверка доступности Meilisearch
bash
curl -I https://search.yourdomain.com/health
# Ожидаемый ответ: HTTP 200 OK