From 4c7c5090db46e51dafa602db8a3e57102c20d63e Mon Sep 17 00:00:00 2001 From: Mikhail Trubnikov Date: Mon, 4 Dec 2023 12:02:55 +1000 Subject: [PATCH] fix(api): test ip --- .../Controllers/V1/ApiStatusController.cs | 7 ------ PARR.API/Program.cs | 23 ++++++++++--------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/PARR.API/Controllers/V1/ApiStatusController.cs b/PARR.API/Controllers/V1/ApiStatusController.cs index 43c0dfab..52e78fff 100644 --- a/PARR.API/Controllers/V1/ApiStatusController.cs +++ b/PARR.API/Controllers/V1/ApiStatusController.cs @@ -45,12 +45,5 @@ namespace PARR.API.Controllers.V1 return Ok(new Response(response, true)); } - - [HttpGet("/get-ip")] - public IActionResult Test() - { - var ip = HttpContext.Connection.RemoteIpAddress?.MapToIPv4(); - return Ok(ip.ToString()); - } } } diff --git a/PARR.API/Program.cs b/PARR.API/Program.cs index baf2fd47..3f13c1ec 100644 --- a/PARR.API/Program.cs +++ b/PARR.API/Program.cs @@ -1,10 +1,8 @@ using Elastic.CommonSchema.Serilog; using FluentValidation; using Microsoft.AspNetCore.HttpOverrides; -using Microsoft.AspNetCore.Server.HttpSys; using PARR.API.Authentication; using PARR.API.Installers; -using PARR.API.RoleProvider; using PARR.BLL; using PARR.DAL; using Serilog; @@ -34,19 +32,19 @@ builder.Configuration.AddDalConfigurations(builder.Services); builder.Services.AddDallSettings(builder.Configuration); // Auth -//builder.Services.AddAuthentication(ParrAuthenticationOptions.DefaultScheme) -// .AddScheme(ParrAuthenticationOptions.DefaultScheme, opt => { }); +builder.Services.AddAuthentication(ParrAuthenticationOptions.DefaultScheme) + .AddScheme(ParrAuthenticationOptions.DefaultScheme, opt => { }); // не используем, так как проверка ролей остается прежней, а роли подставляем в ParrAuthenticationHandler //builder.Services.AddSimpleRoleAuthorization(); -// При использовании балансировщика (haproxy, перенаправлять заголовки) -//builder.Services.Configure(options => -//{ -// options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; +// При использовании балансировщика (haproxy, перенаправлять заголовки) (см ниже: app.UseForwardedHeaders();) +builder.Services.Configure(options => +{ + options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; -// options.KnownNetworks.Clear(); -// options.KnownProxies.Clear(); -//}); + options.KnownNetworks.Clear(); + options.KnownProxies.Clear(); +}); builder.Services.AddHttpContextAccessor(); @@ -61,6 +59,9 @@ builder.Services.InstallSwaggerService(builder.Configuration); var app = builder.Build(); +// При использовании балансировщика (haproxy, перенаправлять заголовки) +app.UseForwardedHeaders(); + // Configure the HTTP request pipeline. app.InstallSwagger();