社区
ASP
帖子详情
[急]服务器是内网服务器~REMOTE_ADDR获取客户短IP问题
linamong
2012-03-30 05:03:01
服务器是内网服务器 有通过防火墙对外,有外网IP.
现在外网的客户端访问页面,想记录来访IP到数据库,用来做一些操作.
但是Request.ServerVariables("REMOTE_ADDR") 取得的IP都是服务器的网关...
不管是用本身内网电脑还是其他外网电脑测试都是这个结果.
求解.
...全文
172
3
打赏
收藏
[急]服务器是内网服务器~REMOTE_ADDR获取客户短IP问题
服务器是内网服务器 有通过防火墙对外,有外网IP. 现在外网的客户端访问页面,想记录来访IP到数据库,用来做一些操作. 但是Request.ServerVariables("REMOTE_ADDR") 取得的IP都是服务器的网关... 不管是用本身内网电脑还是其他外网电脑测试都是这个结果. 求解.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
linamong
2012-03-31
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
道理太简单,内网服务器只设内网IP,要访问到它只能通过内网IP。所以外网过来IP,要NAT内网IP才能访问。
所以,要解决只有将你这台服务器设成外网IP,然后外网访问,路由过来。
[/Quote]
服务器设成外网IP,然后外网访问,路由过来。
简单说说怎么做
zhjian6
2012-03-31
打赏
举报
回复
道理太简单,内网服务器只设内网IP,要访问到它只能通过内网IP。所以外网过来IP,要NAT内网IP才能访问。
所以,要解决只有将你这台服务器设成外网IP,然后外网访问,路由过来。
linamong
2012-03-30
打赏
举报
回复
个人预计是防火墙的问题,但是设置不是我做的
设置过的朋友详细说说怎么设置的
php $_SERVER[‘‘
REMOTE
_
ADD
R‘]
获取
IP
并不真实
php $_SERVER[”
REMOTE
_
ADD
R’]
获取
IP
并不真实bug 出现最近有个小项目投票上线了,结果发现投票没多久就出现投票不成功的错误(
IP
限制数超越错误)!bug 跟踪连上
服务器
的数据库一看,发现数据库
IP
记录清一色是167863555(
ip
转int后),这地址是
服务器
内网
的
IP
,很可能就是
服务器
的代理
IP
。翻看Controller,发现
IP
获取
是
ip
=
ip
= _SERVER[‘
怎样正确设置
remote
_
add
r和x_forwarded_for
获取
用户真实
IP
转载地址:https://my.oschina.net/jiangzhixiong/blog/529086 做网站时经常会用到
remote
_
add
r和x_forwarded_for这两个头信息来
获取
客户
端的
IP
,然而当有反向代理或者CDN的情况下,这两个值就不够准确了,需要调整一些配置。 什么是
remote
_
add
r
remote
_
add
r代表
客户
端的
IP
,但它的值不是由
客户
端提供的,而
怎样正确设置
remote
_
add
r和x_forwarded_for
做网站时经常会用到
remote
_
add
r和x_forwarded_for这两个头信息来
获取
客户
端的
IP
,然而当有反向代理或者CDN的情况下,这两个值就不够准确了,需要调整一些配置。 什么是
remote
_
add
r
remote
_
add
r代表
客户
端的
IP
,但它的值不是由
客户
端提供的,而是服务端根据
客户
端的
ip
指定的,当你的浏览器访问某个网站时,假设中间没有任何代理,那么网站的web
服务器
(Ngin
nginx代理后
获取
用户真实
ip
“经过反向代理后,由于在
客户
端和web
服务器
之间增加了中间层,因此web
服务器
无法直接拿到
客户
端的
ip
,通过$
remote
_
add
r变量拿到的将是反向代理
服务器
的
ip
地址”。这句话的意思是说,当你使用了nginx反向
服务器
后,在web端使用request.get
Remote
Add
r()(本质上就是
获取
$
remote
_
add
r) nginx使用$
remote
_
add
r变量时获得的是用户的真实
ip
,如果我们想要在web端获得用户的真实
ip
,就必须在nginx这里作一个赋值操作,如下: proxy_set_he
remote
_
add
r和x_forwarded_for
remote
_
add
r和x_forwarded_for这两个头信息来
获取
客户
端的
IP
,然而当有反向代理或者CDN的情况下,这两个值就不够准确了,需要调整一些配置。 什么是
remote
_
add
r
remote
_
add
r代表
客户
端的
IP
,但它的值不是由
客户
端提供的,而是服务端根据
客户
端的
ip
指定的,当你的浏览器访问某个网站时,假设中间没有任何代理,那么网站的web
服务器
(Nginx,Apache等
ASP
28,409
社区成员
356,971
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章