From 3c522a33afac3ae4a2ae9368eb7153ac8ff28bdf Mon Sep 17 00:00:00 2001 From: dmolinari Date: Wed, 25 Jun 2025 20:53:16 -0300 Subject: [PATCH] =?UTF-8?q?Fix=20Producci=C3=B3n=20IP=20Nueva?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frontend/.env.production | 3 ++- Frontend/nginx.conf | 25 ++++++++++++++++--------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/Frontend/.env.production b/Frontend/.env.production index 8afc665..aba439d 100644 --- a/Frontend/.env.production +++ b/Frontend/.env.production @@ -1,2 +1,3 @@ # Frontend/.env.production -VITE_API_BASE_URL=http://192.168.5.128:8081/api \ No newline at end of file +VITE_API_BASE_URL=/api +#Cambio http://192.168.5.128:8081/api por el host de producción \ No newline at end of file diff --git a/Frontend/nginx.conf b/Frontend/nginx.conf index c962b18..5821d85 100644 --- a/Frontend/nginx.conf +++ b/Frontend/nginx.conf @@ -1,19 +1,26 @@ -# Este bloque de configuración se aplicará al servidor web. +# Frontend/nginx.conf server { - # Nginx escuchará en el puerto 80 dentro del contenedor. listen 80; + server_name localhost; # El nombre del servidor dentro de Docker no es tan relevante - # La raíz de los documentos, donde están nuestros archivos de React. root /usr/share/nginx/html; - - # Sirve el index.html por defecto para la ruta raíz. index index.html; - # Esta es la regla mágica para las SPAs. + location /api/ { + # 'api-gestion' es el nombre del servicio del backend en docker-compose.yml. + # '8080' es el puerto que expone tu API DENTRO de la red de Docker. + proxy_pass http://api-gestion:8080/api/; + + # Encabezados recomendados para pasar información al backend + 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; + } + + # Regla para la SPA (Single-Page Application) + # Debe ir DESPUÉS de la regla de la API para que no la intercepte. location / { - # Intenta servir el archivo exacto que se pide (ej: /assets/logo.png). - # Si no lo encuentra, intenta servir una carpeta con ese nombre. - # Si tampoco la encuentra, como último recurso (fallback), sirve /index.html. try_files $uri $uri/ /index.html; } } \ No newline at end of file