悬赏分:5 浏览:313 次
1.string struserIP = System.Web.HttpContext.Current.Request.UserHostAddress
2. private string GetClientIP()
{
string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result ¦ ¦ result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (null == result ¦ ¦ result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
得到的数据是服务器内网的IP地址,为何?2种方式得到的值是一样。
哪位朋友知道,不胜感激。
服务器是通过DNS中转的,得到的是服务器DNS的内网IP地址。
为何获取不了客户端的IP。
|
2个月前 ★金★ : 还是内网的IP地址 |
|
2个月前 ★金★ : 还是不行啊,获取的是服务器DNS的内部IP。 |
|
2个月前 玉开 : 那就应该是DNS转发的设置问题了,转发时没有设置添加对应的Http头,找一下看看有没有地方可以设置。 |
|
2个月前 ★金★ : 没有找到对应的HTTP头,DNS只有设置域名对应的内网IP地址。 |
|
2个月前 ★金★ : 估计是啊,但是怎么设置? |
|
2周前 ★金★ : 已经解决,是ISA防火墙设置问题。 http://www.cnblogs.com/cnaspnet/archive/2008/07/05/1236181.html |