如何通过平衡器获取客户端IP地址
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过平衡器获取客户端IP地址相关的知识,希望对你有一定的参考价值。
有这样的情况:我有服务器my.qwe(192.168.0.1),其地址为平衡器192.168.0.2,它将客户端抛出192.168.0.3或192.168.0.4。我从机器192.168.0.5发出请求。问题:如何获取我的机器的IP地址。注意:我用过
HttpContext.Current.Request.ServerVariables["HTTP_X_COMING_FROM"]
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED"]
HttpContext.Current.Request.ServerVariables["HTTP_VIA"]
HttpContext.Current.Request.ServerVariables["HTTP_COMING_FROM"]
HttpContext.Current.Request.ServerVariables["HTTP_FORWARDED_FOR"]
HttpContext.Current.Request.ServerVariables["HTTP_FORWARDED"]
HttpContext.Current.Request.ServerVariables["HTTP_FROM"]
HttpContext.Current.Request.ServerVariables["HTTP_PROXY_CONNECTION"]
HttpContext.Current.Request.ServerVariables["CLIENT_IP"]
HttpContext.Current.Request.ServerVariables["REMOTE_HOST"]
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
HttpContext.Current.Request.ServerVariables["FORWARDED"]
给出空字符串或平衡器192.168.0.2的IP地址,我该怎么办?
答案
你可以使用:
Request.UserHostAddress
要么:
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
两者都应该有效。你可以在这里找到更多相关信息:
以上是关于如何通过平衡器获取客户端IP地址的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 express 框架通过 node.js 获取远程客户端的本地 IP 地址?
在负载平衡情况下使用 WCF 4.5 RemoteEndpointMessageProperty 获取客户端 IP 地址