asp.net网站发布到服务器之后,获取的客户端IP都是127.0.0.1,为什么?

如题,尝试过在其它的机器上搭建iis服务器,经测试获取客户端IP没有问题,但发布到客户的服务器上之后就不成了,客户服务器的环境是WinServer2003+iis6.0,... 如题,尝试过在其它的机器上搭建iis服务器,经测试获取客户端IP没有问题,但发布到客户的服务器上之后就不成了,客户服务器的环境是Win Server 2003 + iis 6.0,获取客户端IP的代码是HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
客户的服务器需要特别的配置一下吗?到底是什么原因呢?希望大家能给予指点,多谢多谢!!
展开
 我来答
怪微风太温柔Cide1
2014-08-04 · TA获得超过153个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:176万
展开全部
public string IPAddress()
        {
            string result = String.Empty;
            result = HttpContext.Current.Request.ServerVariables["HTTP_VIA"];
            if (!string.IsNullOrEmpty(result))
            {
                result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                if (!string.IsNullOrEmpty(result))
                {
                    //可能有代理 
                    if (result.IndexOf(".") == -1) //没有"."肯定是非IPv4格式 
                        result = null;
                    else
                    {
                        if (result.IndexOf(",") >= 0)
                        {
                            //有",",估计多个代理。取第一个不是内网的IP。 
                            result = result.Replace(" ", "").Replace("'", "").Replace(";", "");
                            string[] temparyip = result.Split(',');
                            for (int i = 0; i < temparyip.Length; i++)
                            {
                                if (IsIPAddress(temparyip[i]))
                                {
                                    if (!temparyip[i].StartsWith("10.") && !temparyip[i].StartsWith("192.168") && !temparyip[i].StartsWith("172.16."))
                                    {
                                        result = temparyip[i]; //找到不是内网的地址
                                        break;
                                    }
                                }
                            }
                        }
                        if (!IsIPAddress(result)) //代理即是IP格式 
                        {
                            result = null; //代理中的内容 非IP,取IP k
                        }
                    }
                }
            }
            else
            {
                result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
            }
            if (string.IsNullOrEmpty(result))
            {
                result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
            }
            if (string.IsNullOrEmpty(result))
            {
                result = HttpContext.Current.Request.UserHostAddress;
            }
            if (string.IsNullOrEmpty(result))
            {
                result = "000.000.000.000";
            }
            return result;
        }
追问
非常感谢你的回答,再听听别人还有没有其它建议。
Storm代理
2023-05-30 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式