登录
首页 >  文章 >  软件教程

获取真实客户端IP的正确方法

时间:2026-02-24 22:19:00 297浏览 收藏

当你在本地开发时调用 `getRemoteAddr()` 得到 `0:0:0:0:0:0:0:1`(即 `0:0:0:1` 的完整写法),这并非异常,而是明确告诉你:请求确实来自本机——它是 IPv6 的回环地址,等同于熟悉的 `127.0.0.1`;但若你正为“为何拿不到真实外网 IP”而困扰,问题往往出在反向代理未透传、Docker 网络配置不当或防火墙阻断了外部访问;本文直击痛点,不仅解释这一看似诡异的地址本质,更手把手教你通过 `X-Forwarded-For` 头获取真实客户端 IP,并给出本地调试与生产环境适配的关键验证步骤,帮你彻底摆脱 IP 获取误区。

今天在获取客户端IP地址时,使用了request对象的getRemoteAddr()方法,但在本地测试时返回的结果却是0:0:0:0:0:0:0:1,这是一个IPv6的本地回环地址,令人感到困惑和烦恼,不知如何正确获取实际的客户端IP。

1、 第一步:所示,通过getRequest().getRemoteAddr()获取到的地址为0:0:0:0:0:0:0:1,这是一个IPv6格式的地址。然而,实际需求是获取IPv4地址,因此需要进行相应转换或调整获取方式,以满足对IPv4地址的获取要求。

getRemoteAddr为何返回0:0:0:1

2、 后来通过网上查找,花了很长时间才明白问题出在客户端与服务器位于同一台电脑上。换用其他设备访问项目时又无法打开,最终发现需要关闭本机防火墙才能实现正常访问。

getRemoteAddr为何返回0:0:0:1

3、 第三步:重新访问即可获取客户端正确的IPv4地址,所示。

getRemoteAddr为何返回0:0:0:1

4、 感谢支持,恳请投上宝贵一票!

今天关于《获取真实客户端IP的正确方法》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>