首页 新闻 会员 周边 捐助

iis网站发布 内网ip 映射到外网去, 用户登录获取的ip问题,帮忙看看哦

0
悬赏园豆:100 [已解决问题] 解决于 2013-12-18 15:34

内网 ip 192.168.100.32:7538

映射到 外网 ip 211.160.171.50

获取ip 方法 (page.Request.UserHostAddress.ToString())

如果都是内网用户登录 就可以获取到ip  (没有问题)

如果外网登录 获取的 ip 都192.168.100.1(有问题)

测试 了 好几个方法获取ip 都有问题。

还是服务器 还需要配置什么啊?内容端口7538,映射的外网端口默认为80吧,2个端口不一样以前端口一样 是都没有问题的

问题 :外网用户登录怎样可以获取到客户端ip呢,

mkj小陈的主页 mkj小陈 | 初学一级 | 园豆:6
提问于:2013-12-18 10:52
< >
分享
最佳答案
0
 1      /// <summary> 
 2         /// 取得客户端真实IP,如果有代理则取第一个非内网地址
 3         /// http://en.wikipedia.org/wiki/X-Forwarded-For
 4         /// </summary> 
 5         public static string GetIPAddress()
 6         {
 7             string proxy_ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];//取得代理
 8             string ip;
 9             if (string.IsNullOrEmpty(proxy_ip))
10             {
11                 ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
12             }
13             else
14             {
15                 string[] ipArray = proxy_ip.Split(',');
16                 ip = ipArray[0];
17             }
18             return ip;
19         }
收获园豆:40
上飘的枫叶 | 菜鸟二级 |园豆:242 | 2013-12-18 12:18

还是获取的 192.168.100.1 哦

mkj小陈 | 园豆:6 (初学一级) | 2013-12-18 12:40
其他回答(6)
0

外网登陆获取的是客户端的外网IP。

HttpContext.Current.Request.UserHostAddress;

收获园豆:20
木乌 | 园豆:1015 (小虾三级) | 2013-12-18 11:22

可我 获取到的ip 是 192.168.100.1啊 怎么回事啊

支持(0) 反对(0) mkj小陈 | 园豆:6 (初学一级) | 2013-12-18 11:32

@mkj小陈: 你应该是在内网访问吧。

支持(0) 反对(0) 木乌 | 园豆:1015 (小虾三级) | 2013-12-18 11:33
0

支持楼上...HttpContext.Current.Request.UserHostAddress;获取请求IP

收获园豆:20
拾梦小侠ด้้้ | 园豆:713 (小虾三级) | 2013-12-18 11:28
0

可我 获取到的ip 是 192.168.100.1啊 怎么回事啊 ==> 因为客户端是通过内网访问。也就是说虽然在内网的用户使用 211.160.171.50 访问,但是路由器在路由选择时选择了内网路由,因此所有访问通过内网即可完成,不必出了内网,再从外网路由进来。

收获园豆:10
Launcher | 园豆:45050 (高人七级) | 2013-12-18 11:50

但是外网用户需要访问啊,获取不到ip 啊  纠结

支持(0) 反对(0) mkj小陈 | 园豆:6 (初学一级) | 2013-12-18 12:15

@mkj小陈: 你怎么知道来访问的用户是外网用户?他是自己通过 ADSL 拨号连接 Internet 的吗?

你最好写一个简单的页面,把请求的 IP 地址都显示出来,我们通过外网就可以访问,这样就可以测试。

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2013-12-18 13:04
0

如果你是双网卡的机器,怎么会出现这种情况?

收获园豆:5
bitbug | 园豆:470 (菜鸟二级) | 2013-12-18 12:54

外网机器都是这丫啊 ,所有外网用户获取的ip 都是 192.168.100.1

支持(0) 反对(0) mkj小陈 | 园豆:6 (初学一级) | 2013-12-18 12:56

@mkj小陈: 你们最近路由器的设置有没有改动过?

192.168.100.1 这个地址应该是你的网关吧?感觉问题不出在你的IIS上面,而是你的路由映射表上。你向这个方向找找原因看看?

支持(0) 反对(0) bitbug | 园豆:470 (菜鸟二级) | 2013-12-18 13:11

@bitbug: 关键是 我的日志里面 显示所有用户 都是 192.168.100.1 郁闷啊, 以前 映射外网ip 带有端口号的,现在没有端口号了,获取用户ip 就有问题。内网端口号7538,映射外网端口80 ,就这区别,端口号不一样,就不行了。哎。。

支持(0) 反对(0) mkj小陈 | 园豆:6 (初学一级) | 2013-12-18 13:31

@mkj小陈: 额      超出能力范围了。。。。同求解

支持(0) 反对(0) bitbug | 园豆:470 (菜鸟二级) | 2013-12-18 13:42

@bitbug: @mkj小陈: 感谢大家哈,原来是防火墙 弄了,现在解决了。

支持(0) 反对(0) mkj小陈 | 园豆:6 (初学一级) | 2013-12-18 15:33
0

加油

收获园豆:5
[秦时明月] | 园豆:738 (小虾三级) | 2013-12-18 13:26

支持(0) 反对(0) mkj小陈 | 园豆:6 (初学一级) | 2013-12-18 13:31
0

最后防火墙是怎么搞,才能获取到源ip

菜鸟终能逆袭 | 园豆:202 (菜鸟二级) | 2019-07-03 16:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册