Try 1550
This commit is contained in:
		| @@ -2,25 +2,20 @@ | ||||
| FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build | ||||
| WORKDIR /app | ||||
|  | ||||
| # Copiar archivos de proyecto y restaurar dependencias primero para aprovechar el caché de Docker | ||||
| COPY backend/src/Titulares.Api/Titulares.Api.csproj backend/src/Titulares.Api/ | ||||
| RUN dotnet restore backend/src/Titulares.Api/Titulares.Api.csproj | ||||
|  | ||||
| # Copiar el resto del código fuente del backend | ||||
| COPY backend/src/ ./backend/src/ | ||||
|  | ||||
| # Publicar la aplicación en modo Release | ||||
| RUN dotnet publish backend/src/Titulares.Api/Titulares.Api.csproj -c Release -o /app/publish | ||||
|  | ||||
| # --- Etapa 2: Imagen Final (Final) --- | ||||
| FROM mcr.microsoft.com/dotnet/aspnet:9.0 | ||||
| WORKDIR /app | ||||
|  | ||||
| # Copiar solo los artefactos compilados desde la etapa de build | ||||
| COPY --from=build /app/publish . | ||||
|  | ||||
| # Exponer el puerto interno que ASP.NET Core usará por defecto en Docker | ||||
| EXPOSE 8080 | ||||
|  | ||||
| # Comando para iniciar la aplicación | ||||
| # Añade esta línea para asegurar que Kestrel escuche en el puerto 8080 | ||||
| ENV ASPNETCORE_URLS=http://+:8080 | ||||
| ENTRYPOINT ["dotnet", "Titulares.Api.dll"] | ||||
| @@ -4,6 +4,7 @@ using Titulares.Api.Hubs; | ||||
| using Titulares.Api.Models; | ||||
| using Titulares.Api.Services; | ||||
| using Titulares.Api.Workers; | ||||
| using Microsoft.AspNetCore.HttpOverrides; | ||||
|  | ||||
| var builder = WebApplication.CreateBuilder(args); | ||||
|  | ||||
| @@ -23,19 +24,27 @@ builder.Services.AddScoped<CsvService>(); | ||||
| builder.Services.AddSingleton<ConfiguracionRepositorio>(); | ||||
| builder.Services.AddSingleton<EstadoProcesoService>(); | ||||
|  | ||||
| // Añadimos la política de CORS | ||||
| var frontendUrl = "http://192.168.5.128:8905"; | ||||
|  | ||||
| builder.Services.AddCors(options => | ||||
| { | ||||
|     options.AddPolicy("AllowReactApp", builder => | ||||
|     options.AddPolicy("AllowReactApp", policyBuilder => | ||||
|     { | ||||
|         //builder.WithOrigins("http://localhost:5173") | ||||
|         builder.AllowAnyOrigin() | ||||
|                .AllowAnyHeader() | ||||
|                .AllowAnyMethod() | ||||
|                .AllowCredentials(); | ||||
|         policyBuilder.WithOrigins(frontendUrl) | ||||
|                      .AllowAnyHeader() | ||||
|                      .AllowAnyMethod() | ||||
|                      .AllowCredentials(); | ||||
|     }); | ||||
| }); | ||||
|  | ||||
| builder.Services.Configure<ForwardedHeadersOptions>(options => | ||||
| { | ||||
|     options.ForwardedHeaders = | ||||
|         ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; | ||||
|     options.KnownNetworks.Clear(); | ||||
|     options.KnownProxies.Clear(); | ||||
| }); | ||||
|  | ||||
| builder.Services.AddSignalR(); | ||||
|  | ||||
| builder.Services.AddHostedService<ProcesoScrapingWorker>(); | ||||
| @@ -47,6 +56,16 @@ builder.Services.AddAuthorization(); | ||||
| // ========================== | ||||
| var app = builder.Build(); | ||||
|  | ||||
| // DEBE IR ANTES DE UseRouting, UseCors, UseAuthorization, etc. | ||||
| app.UseForwardedHeaders(); | ||||
|  | ||||
| // Configure the HTTP request pipeline. | ||||
| if (app.Environment.IsDevelopment()) | ||||
| { | ||||
|     app.UseSwagger(); | ||||
|     app.UseSwaggerUI(); | ||||
| } | ||||
|  | ||||
| // 3. Configurar el pipeline de peticiones HTTP. | ||||
| // ============================================ | ||||
|  | ||||
| @@ -72,5 +91,4 @@ app.UseAuthorization(); | ||||
| app.MapControllers(); | ||||
| app.MapHub<TitularesHub>("/titularesHub"); | ||||
|  | ||||
|  | ||||
| app.Run(); | ||||
| @@ -7,6 +7,6 @@ | ||||
|   }, | ||||
|   "AllowedHosts": "*", | ||||
|   "ConnectionStrings": { | ||||
|     "DefaultConnection": "Server=db-sqlserver;Database=TitularesDB;User Id=titularesApi;Password=PTP847Titulares;Trusted_Connection=True;TrustServerCertificate=True;" | ||||
|     "DefaultConnection": "Server=db-sqlserver;Database=TitularesDB;User Id=titularesApi;Password=PTP847Titulares;TrustServerCertificate=True;" | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user