1
Mitt 2020-10-18 18:18:11 +08:00 via iPhone
理论上这三个都应该是同一个 ip,确认你本地没有受代理影响,服务器是直连而没有走独立 ip 负载
|
2
virusdefender 2020-10-18 21:20:03 +08:00
啥运营商,移动之类的 ip 各种飘很正常
|
3
opengps 2020-10-18 22:21:32 +08:00
你自己 web 程序获取的,按理说应该是准的,不过如果跟公网其他工具都不同,可能你用的方式有问题。
x-forward 是转发时候传递的,不经过代理应该就是用户接入公网环节的 IP,不过这个容易有假 访问公网工具查看的,需要确认下对方的方法是不是准确,我网站也有,一般来说是准的 |
4
Leigg 2020-10-19 07:39:16 +08:00 via Android
后两个一般都是一样的
|
5
julyclyde 2020-10-19 10:30:14 +08:00
remote addr 是 TCP 连接的“对方”的 IP 地址
如果对方在 NAT 后面,当然就是 NAT 的出口地址 x-forwarded-for 是一串 HTTP 代理服务器传递的信息 这俩都不是同一个层次的东西 |
6
eudore 2020-10-19 11:27:36 +08:00 1
涉及一个 http 里面的概念端对端跳对跳。
从服务的入口 nginx 开始,到处理后端一般会经过多个反向代理,在每一个反代会将上一个代理或客户端的地址加入 x-forwarded-for 里面,可以看到自己的流量经过了那些节点,第一个一般是客户端真实 ip,有的直接在最外层设置 Real-Ip 这个 header 记录客户端真实 ip 。 而 Remote Address 是 tcp 连接到后端处理者的 tcp ip,通常是最近一跳的 ip 地址,如果经过了多层代理后这个 remoteaddr 是最近代理地址,而不是客户端地址了,服务端获取客户端 ip 一般就先检查 x-forwarded-for 然后才取 remoteaddr 。 |