diff --git a/src/Core/CurrentContext.cs b/src/Core/CurrentContext.cs index a222214b0a..17a5bac237 100644 --- a/src/Core/CurrentContext.cs +++ b/src/Core/CurrentContext.cs @@ -13,6 +13,7 @@ namespace Bit.Core public class CurrentContext { private const string CloudFlareConnectingIp = "CF-Connecting-IP"; + private const string RealIp = "X-Real-IP"; private bool _builtHttpContext; private bool _builtClaimsPrincipal; @@ -182,6 +183,10 @@ namespace Bit.Core { return HttpContext.Request.Headers[CloudFlareConnectingIp].ToString(); } + if(globalSettings.SelfHosted && HttpContext.Request.Headers.ContainsKey(RealIp)) + { + return HttpContext.Request.Headers[RealIp].ToString(); + } return HttpContext.Connection?.RemoteIpAddress?.ToString(); }