1.6 KiB
1.6 KiB
Amigos App (React + Vite + Express)
Frontend (React/Vite) and backend (Express) are bundled into a single container for production. The backend serves the built frontend and exposes the API under /api.
Configuración del API en el frontend
- Variable:
VITE_API_BASE - Descripción: URL base del API para
fetch. Si no se define, el frontend usa el mismo origen (recomendado detrás de Nginx). - Ejemplos:
- Mismo origen (proxy Nginx al contenedor): no definir
VITE_API_BASE. - API en dominio diferente:
VITE_API_BASE=https://api.ejemplo.com(requiere CORS).
- Mismo origen (proxy Nginx al contenedor): no definir
Despliegue con Nginx (recomendado: mismo origen)
Proxy del dominio al contenedor (sirve estáticos y /api):
server {
server_name amigos.nucleoriofrio.com;
# Opcional: gzip, TLS, etc.
location / {
proxy_pass http://amigos-app:3001; # nombre del servicio Docker
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Con esta configuración, no definas VITE_API_BASE para que el frontend use rutas relativas (/api/...).
Docker Compose
El servicio expone el puerto 3001 dentro de la red de Docker. Asegúrate de que Nginx esté en la misma red (por ejemplo, principal) para alcanzar amigos-app:3001.
Diagnóstico rápido
- 200 en
https://amigos.nucleoriofrio.com/healthindica que el backend está arriba. - Si el navegador muestra
ERR_CONNECTION_REFUSED, revisa que el frontend no apunte ahttp://localhost:3001(usaVITE_API_BASEo mismo origen).