博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
负载均衡的场景下ASP.NET Core如何获取客户端IP地址
阅读量:7057 次
发布时间:2019-06-28

本文共 721 字,大约阅读时间需要 2 分钟。

在ASP.NET中,使用负载均衡时,可以通过ServerVariables获取客户端的IP地址。

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;    }}

转载地址:http://llrol.baihongyu.com/

你可能感兴趣的文章
MySQL数据库管理之日常操作
查看>>
连续潜在变量---核PCA
查看>>
lucene 3.5.0 入门笔记
查看>>
AD域桌面重定向_无权限访问桌面
查看>>
DSPLINK 介绍
查看>>
css笔试题整理(其他)
查看>>
oracle锁及oracle查找锁定表信息
查看>>
我的友情链接
查看>>
IRichBolt和IBasicBolt/BaseBasicBolt对比
查看>>
Linux/Unix批量处理产生
查看>>
XFS和RAID6性能优化
查看>>
corosync+pacemaker 实现高可用集群(三)
查看>>
linux下的java开发环境
查看>>
Bootstrap使用记录
查看>>
从一场场大型网站灾难过后的BUG:根
查看>>
Linux系统下怎样利用nc命令来监控检测服务器的端口使用情况
查看>>
git命令总结
查看>>
tomcat高访问jvm配置
查看>>
谢烟客---------二进制安装MariaDB,管理关系型数据库的基本组件
查看>>
JS 判断手机浏览器
查看>>