.net core获取用户IP

UseForwardedHeaders

未开启

//httpContext.GetRemoteIPAddress()
192.168.8.16
//httpContext.Connection.RemoteIpAddress
127.0.0.1
Accept = */*
Connection = close
Host = 192.168.8.121:5005
User-Agent = curl/7.81.0
X-Real-IP = 192.168.8.16
X-Forwarded-For = 192.168.8.16
X-Forwarded-Proto = http

开启,满配

builder.Services.Configure<ForwardedHeadersOptions>(options =>
{
    options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
    options.KnownProxies.Add(IPAddress.Parse("192.168.8.121"));
});
app.UseForwardedHeaders();
//httpContext.GetRemoteIPAddress()
192.168.8.16
//httpContext.Connection.RemoteIpAddress
192.168.8.16
Accept = */*
Connection = close
Host = 192.168.8.121:5005
User-Agent = curl/7.81.0
X-Real-IP = 192.168.8.16
X-Original-Proto = http
X-Original-For = [::1]:55209

开启,未配置KnownProxies

192.168.8.16
192.168.8.16
Accept = */*
Connection = close
Host = 192.168.8.121:5005
User-Agent = curl/7.81.0
X-Real-IP = 192.168.8.16
X-Original-Proto = http
X-Original-For = 127.0.0.1:55303

开启,未配置XForwardedFor

192.168.8.16
127.0.0.1
Accept = */*
Connection = close
Host = 192.168.8.121:5005
User-Agent = curl/7.81.0
X-Real-IP = 192.168.8.16
X-Forwarded-For = 192.168.8.16
X-Original-Proto = http
posted @ 2024-01-25 10:23  MangoJuice  阅读(4)  评论(0编辑  收藏  举报