2017-03-02 45 views
0

我有一个IIS核心应用程序托管在IIS上,服务器在路由器后面。我需要检测真实的客户端IP。从本地网络context.HttpContext.Connection.RemoteIpAddress返回正确的IP,但从外部始终是127.0.0.1ASP.Net核心检测真正的客户端IP

此外,我试图看看X-Original-For标题,其中本地给127.0.0.1,没有任何形式的外部。

我试图UseForwardedHeadershttps://stackoverflow.com/a/41450563/4801505)中间件但我得到了它的中间件已经由UseIISIntegrationhttps://github.com/aspnet/Docs/issues/2384)所以使用它两次没有任何意义。

那么,在我的情况下,我可以做到什么吗?也许需要一些IIS配置?

+0

使用'X - 转发,For' –

+0

是你能解决这个@Slip? – Luigi

回答

0

使用外部链接获取IP地址。

我最终使用

var httpClient = new HttpClient(); 
     var ip = await httpClient.GetStringAsync("https://api.ipify.org"); 

如果您正在使用C#以外的任何语言参考网站ipify