Js获取外网IP地址
业务中要理清逻辑,后端是没有办法直接帮前端去获取前端的外网ip的,因为这个外网ip是指的前端的计算机,后端只能通过header里面的信息进行处理,而k8s或者Nginx进行反向代理或类似处理,篡改成内网ip的话,就需要前端自行获取ip了。一般是请求的header进行获取,x-real-ip ,x-forwarded-for ,clientip,这三个值,取不到前面的取后面的,就可以了。一般来说前端
·
概念整理
前端获取IP
一般来说前端是不能获取自己的本机外网ip的,而是请求了别人的服务,服务端可以告诉前端他的Ip地址是多少。
现有免费的网站提供查询,GET请求返回的就直接是ip地址了。免费获取IP
因此前端可以去调用这个接口,自行获取IP。
后端获取Ip
一般是请求的header进行获取,x-real-ip ,x-forwarded-for ,clientip,这三个值,取不到前面的取后面的,就可以了。 具体的原理自行百度。
代码
我也为Js、Nodejs封装了一个通用的库, npm
通过原生的xmlHttpRequest进行处理。
注意事项
业务中要理清逻辑,后端是没有办法直接帮前端去获取前端的外网ip的,因为这个外网ip是指的前端的计算机,后端只能通过header里面的信息进行处理,而k8s或者Nginx进行反向代理或类似处理,篡改成内网ip的话,就需要前端自行获取ip了。
更多推荐
已为社区贡献3条内容
所有评论(0)