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