Fix production base path and ProxyPass docs for /generadorexamenesllm.
This removes the incorrect /deckofcars prefix, aligns CI/build defaults with the real public URL, and adds an Apache ProxyPass snippet so the request is routed to the Docker frontend instead of the Sinbad2 site.
This commit is contained in:
+2
-2
@@ -47,7 +47,7 @@ deploy_to_sinbad2:
|
||||
export BACKEND_PORT=$BACKEND_PORT
|
||||
export FRONTEND_PORT=$FRONTEND_PORT
|
||||
export ALLOWED_ORIGINS="https://sinbad2.ujaen.es,http://sinbad2.ujaen.es,http://sinbad2.ujaen.es:$FRONTEND_PORT"
|
||||
export VITE_APP_BASE_PATH="/deckofcars/generadorexamenesllm/"
|
||||
export VITE_APP_BASE_PATH="/generadorexamenesllm/"
|
||||
export VITE_API_URL=""
|
||||
|
||||
docker compose down --remove-orphans
|
||||
@@ -58,7 +58,7 @@ deploy_to_sinbad2:
|
||||
- echo "Despliegue completado."
|
||||
- echo "Backend -> http://sinbad2.ujaen.es:$BACKEND_PORT"
|
||||
- echo "Frontend -> http://sinbad2.ujaen.es:$FRONTEND_PORT"
|
||||
- echo "Public URL -> https://sinbad2.ujaen.es/deckofcars/generadorexamenesllm/"
|
||||
- echo "Public URL -> https://sinbad2.ujaen.es/generadorexamenesllm/"
|
||||
|
||||
only:
|
||||
- branches
|
||||
@@ -0,0 +1,7 @@
|
||||
# Fragmento para el VirtualHost de sinbad2.ujaen.es (HTTPS).
|
||||
# Sin esto, /generadorexamenesllm/ lo atiende el CMS de Sinbad2 y no la app Docker.
|
||||
|
||||
ProxyPass /generadorexamenesllm http://host.docker.internal:8075/
|
||||
ProxyPassReverse /generadorexamenesllm http://host.docker.internal:8075/
|
||||
|
||||
# URL pública: https://sinbad2.ujaen.es/generadorexamenesllm/
|
||||
+1
-1
@@ -24,7 +24,7 @@ services:
|
||||
build:
|
||||
context: ./frontend
|
||||
args:
|
||||
VITE_APP_BASE_PATH: ${VITE_APP_BASE_PATH:-/deckofcars/generadorexamenesllm/}
|
||||
VITE_APP_BASE_PATH: ${VITE_APP_BASE_PATH:-/generadorexamenesllm/}
|
||||
VITE_API_URL: ${VITE_API_URL:-}
|
||||
VITE_GOOGLE_CLIENT_ID: ${VITE_GOOGLE_CLIENT_ID:-}
|
||||
ports:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Base pública de la app cuando va tras proxy (debe terminar en /)
|
||||
# Ejemplo producción UJA: /deckofcars/generadorexamenesllm/
|
||||
VITE_APP_BASE_PATH=/deckofcars/generadorexamenesllm/
|
||||
# Producción Sinbad2 (ProxyPass en Apache, sin /deckofcars):
|
||||
VITE_APP_BASE_PATH=/generadorexamenesllm/
|
||||
|
||||
# URL base del backend (accesible desde el navegador).
|
||||
# Si se deja vacía, usa la misma base de la app (recomendado tras proxy HTTPS).
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
FROM node:20-alpine AS build
|
||||
WORKDIR /app
|
||||
|
||||
ARG VITE_APP_BASE_PATH=/deckofcars/generadorexamenesllm/
|
||||
ARG VITE_APP_BASE_PATH=/generadorexamenesllm/
|
||||
ARG VITE_API_URL=
|
||||
ARG VITE_GOOGLE_CLIENT_ID=
|
||||
ENV VITE_APP_BASE_PATH=$VITE_APP_BASE_PATH
|
||||
|
||||
+11
-7
@@ -38,7 +38,7 @@ npm run dev # http://sinbad2.ujaen.es:8075
|
||||
|
||||
| Variable | Descripción |
|
||||
| ----------------------- | -------------------------------------------------------- |
|
||||
| `VITE_APP_BASE_PATH` | Base pública de la SPA (debe terminar en `/`). En producción UJA: `/deckofcars/generadorexamenesllm/`. |
|
||||
| `VITE_APP_BASE_PATH` | Base pública de la SPA (debe terminar en `/`). En producción UJA: `/generadorexamenesllm/`. |
|
||||
| `VITE_API_URL` | URL base de la API. Si se deja vacía, usa la misma base pública de la app. |
|
||||
| `VITE_GOOGLE_CLIENT_ID` | (Opcional) Client ID de Google. Si está vacío, se oculta el botón de Google. |
|
||||
|
||||
@@ -66,21 +66,25 @@ variables de entorno al ejecutar `docker compose`.
|
||||
|
||||
## Despliegue HTTPS en subruta (Sinbad2)
|
||||
|
||||
Para ejecutarlo detrás de Apache en `https://sinbad2.ujaen.es/deckofcars` con:
|
||||
La app **no** va bajo `/deckofcars/` (eso es otro sitio). La URL pública es:
|
||||
|
||||
`https://sinbad2.ujaen.es/generadorexamenesllm/`
|
||||
|
||||
En Apache del servidor deben existir estas líneas (el prefijo se quita al llegar al contenedor en el puerto 8075):
|
||||
|
||||
```apache
|
||||
ProxyPass /deckofcars/generadorexamenesllm http://host.docker.internal:8075/
|
||||
ProxyPassReverse /deckofcars/generadorexamenesllm http://host.docker.internal:8075/
|
||||
ProxyPass /generadorexamenesllm http://host.docker.internal:8075/
|
||||
ProxyPassReverse /generadorexamenesllm http://host.docker.internal:8075/
|
||||
```
|
||||
|
||||
usa estos valores de build:
|
||||
Build:
|
||||
|
||||
```env
|
||||
VITE_APP_BASE_PATH=/deckofcars/generadorexamenesllm/
|
||||
VITE_APP_BASE_PATH=/generadorexamenesllm/
|
||||
VITE_API_URL=
|
||||
```
|
||||
|
||||
Con esto, el frontend sirve assets/rutas bajo `/deckofcars/generadorexamenesllm` y consume la API por HTTPS en la misma base (sin mixed content).
|
||||
Si Apache no tiene ese `ProxyPass`, el navegador verá la web principal de Sinbad2 en lugar de esta app.
|
||||
|
||||
## Manejo de errores
|
||||
|
||||
|
||||
Reference in New Issue
Block a user