Se añade nginx.conf personalizado y se expone swagger.
All checks were successful
Build and Deploy / remote-build-and-deploy (push) Successful in 24m18s

This commit is contained in:
2025-06-17 15:08:38 -03:00
parent 9e268e7fd4
commit 5d2c577c5e
3 changed files with 34 additions and 8 deletions

View File

@@ -194,16 +194,20 @@ builder.Services.AddSwaggerGen(options =>
var app = builder.Build(); var app = builder.Build();
// --- Configuración del Pipeline HTTP --- // Habilitamos Swagger SIEMPRE, sin importar el entorno.
app.UseSwagger(); // Habilita el middleware para servir el JSON de Swagger
app.UseSwaggerUI(options => // Habilita el middleware para servir la UI de Swagger
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "GestionIntegral API v1");
// Opcional: Para que Swagger aparezca en la raíz de la API (ej: http://192.168.4.128:8081/)
options.RoutePrefix = string.Empty;
});
// Mantenemos esta lógica solo para la página de error de desarrollo, si quieres.
if (app.Environment.IsDevelopment()) if (app.Environment.IsDevelopment())
{ {
app.UseSwagger(); // Habilita el middleware para servir el JSON de Swagger // Aquí puedes dejar otras herramientas solo para desarrollo si las tuvieras.
app.UseSwaggerUI(options => // Habilita el middleware para servir la UI de Swagger
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "GestionIntegral API v1");
// options.RoutePrefix = string.Empty; // Para servir la UI de Swagger en la raíz (ej: http://localhost:5183/)
// Comenta esto si prefieres /swagger (ej: http://localhost:5183/swagger/)
});
} }
// ¡¡¡NO USAR UseHttpsRedirection si la API corre en HTTP!!! // ¡¡¡NO USAR UseHttpsRedirection si la API corre en HTTP!!!

View File

@@ -16,6 +16,9 @@ RUN npm run build
# --- Etapa 2: Serve --- # --- Etapa 2: Serve ---
# Usamos una imagen de Nginx súper ligera para servir los archivos estáticos. # Usamos una imagen de Nginx súper ligera para servir los archivos estáticos.
FROM nginx:stable-alpine FROM nginx:stable-alpine
# Copiamos nuestro archivo de configuración personalizado a la carpeta de configuración de Nginx.
# Esto sobreescribirá la configuración por defecto.
COPY Frontend/nginx.conf /etc/nginx/conf.d/default.conf
WORKDIR /usr/share/nginx/html WORKDIR /usr/share/nginx/html
# Eliminamos el index.html por defecto de Nginx. # Eliminamos el index.html por defecto de Nginx.

19
Frontend/nginx.conf Normal file
View File

@@ -0,0 +1,19 @@
# Este bloque de configuración se aplicará al servidor web.
server {
# Nginx escuchará en el puerto 80 dentro del contenedor.
listen 80;
# 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 / {
# 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;
}
}