Guía de Resolución de Problemas (Troubleshooting)
Respuestas directas y soluciones prácticas a las preguntas más frecuentes durante el desarrollo y el despliegue en servidor.
1. Los Cambios Guardados en Strapi No Aparecen en la Tienda
Comprueba los webhooks en Strapi y asegúrate de que el valor x-strapi-secret coincide con REVALIDATE_SECRET en tu archivo .env.
STORE_CORS=http://localhost:8000,https://store.yourdomain.comADMIN_CORS=http://localhost:9000,https://api.yourdomain.comAUTH_CORS=http://localhost:8000,http://localhost:9000,https://store.yourdomain.com2. Error de Conexión con Medusa o Productos No Visibles
Verificación de Publishable API Key
3. Problemas con Certificados SSL Automáticos en Caddy
Asegúrate de que el registro DNS tipo A de tu dominio apunte a la IP de tu VPS y que los puertos 80 y 443 estén abiertos en el firewall.
4. Error de Conexión Rechazada en PostgreSQL o Redis
Comprueba que todos los contenedores pertenezcan a la misma red de Docker y que haya suficiente espacio en disco en el servidor.
sudo fallocate -l 4G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfile5. Inspección de Registros Centralizados y Diagnóstico
Accede al panel de Portainer CE o utiliza el comando docker compose logs -f para diagnosticar errores en vivo.
docker compose logs -f storefrontdocker compose logs -f medusadocker compose logs -f strapi6. Recompilar un Solo Contenedor sin Detener los Demás
Cuando actualices el código del frontend o backend, puedes reconstruir únicamente el servicio necesario:
docker compose up -d --build storefront7. Reiniciar la Base de Datos y Cargar Datos de Muestra
Para restablecer el catálogo de prueba en el entorno de desarrollo:
docker compose exec medusa yarn seed8. 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. Campo de búsqueda bloqueado / No se puede escribir en el modal de búsqueda
Causa: La barra de búsqueda utiliza React InstantSearch y consulta a Meilisearch directamente desde el navegador del cliente. Si el subdominio search.yourdomain.com no está creado en Cloudflare DNS o el navegador no puede conectarse (por errores de DNS, SSL o CORS), el estado del input se bloquea y no permite escribir.
Solución:
1. En el panel de Cloudflare (DNS > Records), añade un registro tipo A para search apuntando a la IP de tu VPS.
2. Verifica el estado de Meilisearch:curl -I https://search.yourdomain.com/health
3. Asegúrate de haber configurado NEXT_PUBLIC_MEILISEARCH_HOST y NEXT_PUBLIC_MEILISEARCH_SEARCH_KEY durante la construcción de la imagen de Storefront.
curl -I https://search.yourdomain.com/health# Respuesta esperada: HTTP 200 OK