概念整理

前端获取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了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐