51 lines
1.3 KiB
C#
51 lines
1.3 KiB
C#
using Microsoft.AspNetCore.HttpOverrides;
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
|
|
// Configurar para escutar na porta 8080
|
|
builder.WebHost.UseUrls("http://0.0.0.0:8080");
|
|
|
|
// Configurar serviços
|
|
builder.Services.AddControllersWithViews();
|
|
builder.Services.AddHealthChecks();
|
|
|
|
var app = builder.Build();
|
|
|
|
// Configurar headers para proxy reverso
|
|
app.UseForwardedHeaders(new ForwardedHeadersOptions
|
|
{
|
|
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
|
|
});
|
|
|
|
if (!app.Environment.IsDevelopment())
|
|
{
|
|
app.UseExceptionHandler("/Home/Error");
|
|
}
|
|
|
|
app.UseStaticFiles();
|
|
app.UseRouting();
|
|
|
|
// Health check endpoint
|
|
app.MapHealthChecks("/health");
|
|
|
|
// Endpoint para identificar o servidor
|
|
app.MapGet("/server-info", () =>
|
|
{
|
|
var serverName = Environment.GetEnvironmentVariable("SERVER_NAME") ?? "Unknown";
|
|
var hostname = Environment.MachineName;
|
|
var timestamp = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss UTC");
|
|
|
|
return Results.Json(new
|
|
{
|
|
ServerName = serverName,
|
|
Hostname = hostname,
|
|
Timestamp = timestamp,
|
|
Environment = app.Environment.EnvironmentName
|
|
});
|
|
});
|
|
|
|
app.MapControllerRoute(
|
|
name: "default",
|
|
pattern: "{controller=Home}/{action=Index}/{id?}");
|
|
|
|
app.Run(); |