使用 istio 后如何获取客户端真实 IP

使用 istio 后如何获取客户端真实 IP,第1张

使用 istio 为工作负载注入 sidecar 后,envoy 会代理工作负载的所有网络请求,导致工作负载收到的流量来自 envoy 的转发,因此工作负载看到的客户端 IP 是 envoy 的,默认是 127006 ,不是真实的客户端地址

某些 app 是需要获取到真实客户端地址的,比如黑白名单、地理位置判断等等。

早期的 istio 版本是比较难解决的,但新版本中已经很容易解决,本文中的 istio 是 1112 版本,只需要使用下面的 >function getClientIp(req) {

    var ipAddress;

    var forwardedIpsStr = reqheader('x-forwarded-for'); 

    if (forwardedIpsStr) {

        var forwardedIps = forwardedIpsStrsplit(',');

        ipAddress = forwardedIps[0];

    }

    if (!ipAddress) {

        ipAddress = reqconnectionremoteAddress;

    }

    return ipAddress;

};

如何用js或者jquery获取客户端的IP地址:

$getJSON(">

IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。

IP地址类型;

公有地址:

公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。

私有地址:

私有地址(Private address)属于非注册地址,专门为组织机构内部使用。

以下列出留用的内部私有地址:

A类 10000--10255255255

B类 1721600--17231255255

C类 19216800--192168255255

以上就是关于使用 istio 后如何获取客户端真实 IP全部的内容,包括:使用 istio 后如何获取客户端真实 IP、Nodejs能获取到用户的IP地址吗、js或jquery获取浏览器端IP地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9608296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存