负载均衡的场景下ASP.NET Core如何获取客户端IP地址
2016-10-18 11:30
204 查看
在ASP.NET中,使用负载均衡时,可以通过ServerVariables获取客户端的IP地址。
但在ASP.NET Core中没有ServerVariables的对应实现,需要换一种方式,可以在HttpContext.Request.Headers中获取,需要注意的是key与ServerVariables方式不一样,ServerVariables中是"HTTP_X_FORWARDED_FOR",HttpContext.Request.Headers中是"X-Forwarded-For",示例代码如下:
完整的扩展方法实现如下:
var ip = request.ServerVariables["HTTP_X_FORWARDED_FOR"];
但在ASP.NET Core中没有ServerVariables的对应实现,需要换一种方式,可以在HttpContext.Request.Headers中获取,需要注意的是key与ServerVariables方式不一样,ServerVariables中是"HTTP_X_FORWARDED_FOR",HttpContext.Request.Headers中是"X-Forwarded-For",示例代码如下:
var ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault();
完整的扩展方法实现如下:
public static class HttpContextExtension { public static string GetUserIp(this HttpContext context) { var ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault(); if (string.IsNullOrEmpty(ip)) { ip = context.Connection.RemoteIpAddress.ToString(); } return ip; } }
相关文章推荐
- 负载均衡的场景下ASP.NET Core如何获取客户端IP地址
- DotnetCore asp.net Core 获取客户端的IP地址以及端口号
- ASP如何获取客户端真实IP地址
- ASP如何获取客户端真实IP地址
- ASP.NET获取客户端IP地址、系统版本、浏览器版本
- ASP如何获取客户端真实IP地址
- ASP.NET获取客户端IP地址
- ASP.NET 获取客户端IP地址
- ASP.NET获取客户端IP地址
- asp.net如何获取客户端网卡mac地址
- ASP如何获取客户端真实IP地址
- 获取客户端IP地址 for ASP.NET
- asp.net中获取客户端ip地址的两种方法
- asp.net获取客户端IP地址方法
- ASP.NET获取客户端操作系统类型和IP地址
- [导入]ASP.NET获取客户端IP地址的几点补充[转载]
- asp.net中获取客户端ip地址的两种方法
- Asp.net 获取客户端IP地址的方法,有什么不一样?
- ASP如何获取客户端真实IP地址
- ASP.NET中如何获取客户端浏览器信息