引言:
部分环境应用经过nat123端口映射后的网站和应用得到的用户访问IP地址都是localhost或127.0.0.1,
内网穿透如何获取真实用户访问者IP地址?
经nat123端口映射的网站, IIS7等环境网站不用任何配置即可获取到访问网站的客户端用户真正IP。
如不能获取客户端用户真实IP,需要配置web环境或修改网站源代码(对应获取访问用户IP这一部分),可以通过在HTTP头信息中增加 X-Forwarded-For 信息,用于记录客户端的真实IP,这时web服务就可以使用 $http_x_forwarded_for变量记录客户端的真实IP。
Apache环境下:
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""IIS、apache、nginx环境下设置图文方法:
点击打开>>IIS、apache、nginx获取访客真实IP的解决方案
PHP程序获取客户端真实ip函数:
$_SERVER["HTTP_X_FORWARDED_FOR"]
JSP程序获取客户端真实ip函数:
request.getHeader("HTTP_X_FORWARDED_FOR")
以上方式无效的个别网站环境获取真实用户IP方式:
个别比较特殊的环境需要读这个ALL_HTTP里边的字符串,然后从中截取ip
v=Request.ServerVariables("ALL_HTTP")
个别PHP环境需要通过截取字符串方式截取[X_FORWARDED_FOR] =>后边的访问真实IP
参考论坛先例案例示例《PHP环境X_FORWARDED_FOR后面IP截取获取》
非http应用可以启用“连接发送访问者IP端口”功能,并获取真实用户访问IP地址。
启动方法为,右键映射图标/本地设置/开启发送访问者IP端口。
关于https协议应用映射(https如何获取访客ip?):
由于https映射因为是加密协议,映射后是无法直接获取ip的。需要获取访问者IP的,建议使用http协议进映射进行获取,或可以在https页面,通过ajax或iframe请求http协议进行获取和传入ip地址得到。
关于nat123自带安全防火墙(防火墙信息包含IP):
可以直接防火墙界面查看或通过程序读取访问者IP地址(防火墙信息包括用户IP、时间、端口等信息)。
查看更多>>防火墙的设置使用了解
相关代码示例案例先例分享:
我用的linux客户端,p2p全端口映射,怎么获取用户真实IP地址
快速了解相关:
使用端口映射还是动态域名解析?>
端口映射与动态域名解析的区别?>
选择什么映射类型?
80映射与网站加速的区别?>
本地加速与网站加速的区别?>
免费与VIP的区别?>
如何选择映射VIP?
如何使用映射VIP(80网站)?>
如何使用映射VIP(非网站)?>
如何使用动态域名解析VIP服务?
如何使用自己的域名(根域名和www子域名)?>
客户端帐号能否多处登陆?
当前活动:
1.
非80映射免费VIP。
2.
80映射免费VIP全映射。
3.
非网站免费VIP全端口。
4.
充值送N币再送T币。
5.
站外分享送T币活动。
端口映射高级功能:
1.
如何切换使用映射VIP线路。
2.
http穿透解决http屏蔽问题。
3.
端口映射应用多机负载均衡。
4.
80映射网站默认使用快照提示取消。
5.
映射网站默认未登录提示页面自定义。
6.
如何设置映射网站离线转跳自定义目标地址。
7.
防火墙与访问日志(查看来访者IP和阻止IP端口)。
8.
80网快照录制和缓存删除。
9.
自主发布映射服务。
10.
自主选择网站集群线路访问端国内外区域。
动态域名解析高级功能:
1.
动态域名解析应用多机负载均衡。
2.
动态域名解析VIP怎么用。
域名解析高级功能:
1.
域名解析A记录宕机检测和故障转移。
2.
URL显性转发和隐性转发。
3.
URL转发默认提示取消。
远程开机:
1.
微信/网页远程开机。