ASP.NET核心:如何获取远程IP地址?
我尝试获取远程(客户端)IP地址:
var ip = httpContext.Features.Get<IHttpConnectionFeature>()?.RemoteIpAddress 但它只适用于本地请求(它将返回:: 1值) 当我从远程计算机加载页面时,该值为null.我调查过,在这种情况下,Features集合中没有IHttpConnectionFeature. 为什么?以及如何正确获取远程IP地址? 解决方法
我知道这篇文章很老了,但是我来到这里寻找同样的问题,最终我做到了这一点:
在project.json上添加依赖项: "Microsoft.AspNetCore.HttpOverrides": "1.0.0" 在Startup.cs上,在Configure方法中添加: app.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto }); 而且当然: using Microsoft.AspNetCore.HttpOverrides; 然后,我得到了这样的ip: Request.HttpContext.Connection.RemoteIpAddress 在我的情况下,在VS中进行调试时我总是得到IpV6 localhost,但是当部署在IIS上时,我总是得到远程IP. 一些有用的链接: :: 1可能是因为:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.Net ListView按数据字段分组?
- asp.net-mvc – ASP.NET MVC:自定义排序
- asp.net – 转义HTML实体并避免WebForm标签中的HTML注入?
- 重写网址. asp.net c#
- 如何配置ASP.NET MVC项目以使用Boo
- asp.net-mvc-3 – MVC3 IEnumerable模型找不到正确的编辑器
- asp.net-web-api – Web Api使用IDependencyResolver补充启
- 是否有可能在asp经典和asp.net之间共享会话状态
- asp.net – bing地图花钱?
- asp.net-mvc – 我应该在LogOff方法中使用Session.Abandon(
- 一个支持 CodeFirst/DbFirst/ModelFirst 的数据库
- asp.net-mvc – 使用依赖注入来组织ASP.Net MVC解
- asp.net-mvc-3 – Telerik Kendo ui网格显示html
- asp.net – 如何更改swagger文档基本URL?
- asp.net-mvc – ASP.NET MVC现在是“开源”.这是
- asp.net-mvc – 在ASP.NET MVC中实现自定义配置文
- asp.net – 从ASP启动/停止服务. NET页面
- asp.net – $(“#dialog”).parent().appendTo($
- asp.net-mvc – MVC Preview 5 – 将视图呈现为字
- .net – 简单注入器“由于在MVC验证期间已经处理