asp.net - 如何通过平衡器获取客户端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"]
给出空字符串或平衡器的IP地址192.168.0.2,我该怎么办???
解决方案
您可以使用:
Request.UserHostAddress
或者:
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
两者都应该工作。您可以在此处找到更多信息:
Request.UserHostAddress 和 Request.ServerVariables["REMOTE_ADDR"].ToString() 有什么区别
推荐阅读
- python - Django管理页面未加载
- fetch - SwiftUI 获取联系人重复
- node.js - 你如何添加cordova-config.json?
- uipath - 我在哪里可以找到 Ui Path 工作室活动文档指南?
- php - 使用 Symfony 本地服务器时的 ServerBundle 弃用
- python - Python multiprocessing pool.apply_async() 通过 result.get() 结果访问抛出 TypeError: object is not callable
- javascript - 剑道组合框总是选择选项卡上的第一项
- json - ConvertFrom-Json 将小写 e 转换为大写(有时)
- javascript - 如何为特定的输入按钮指定动作属性?
- axon - Axon 框架:删除聚合根