k8s ingress获取客户端客户端真实IP

这篇具有很好参考价值的文章主要介绍了k8s ingress获取客户端客户端真实IP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

在Kubernetes中,获取客户端真实IP地址是一个常见需求。这是因为在负载均衡架构中,原始请求的源IP地址会被替换成负载均衡器的IP地址。

获取客户端真实IP的需求背景包括以下几点:

  1. 安全性:基于客户端IP进行访问控制和认证授权可以提高系统安全性。
  2. 日志记录与审计:记录真实IP有助于监测、故障排除和合规性审计。
  3. 统计与分析:了解用户来源地区和行为可以提供有价值的数据支持,用于业务决策和优化资源分配。
  4. 反欺诈与风险评估:根据真实IP进行欺诈检测、风险评估或地理位置相关功能能够提高准确性和可靠性。
    通过适当配置Kubernetes Ingress和相关组件,可以确保将原始请求中的真实IP正确传递给后端服务,满足上述需求并提供更精确、安全和可靠的服务。

配置方法

以阿里云ack集群中安装的ingress-nginx为例

方法1 命令行添加方法

1.获取ingress-nginx-controllerconfigmap配置文件名称

[root@K8SMASTER01 ~]# kubectl get -n kube-system deployment ack-ingress-nginx-controller -oyaml|grep configmap
        - --configmap=$(POD_NAMESPACE)/ack-ingress-nginx-controller

2.编辑ingress-nginx-controller的configmap配置文件

添加一下参数到配置文件中添加层级如下图

compute-full-forwarded-for = true
forwarded-for-header = X-Forwarded-For
use-forwarded-headers =true

kubectl edit -n kube-system cm ack-ingress-nginx-controller

k8s ingress获取客户端客户端真实IP,kubernetes,tcp/ip,容器
保存退出即可,立即生效无需重启pod

方法2 控制台添加

1.查看ingress-nginx-controller的yaml文件
k8s ingress获取客户端客户端真实IP,kubernetes,tcp/ip,容器
2.去到k8s集群控制台配置项选项
k8s ingress获取客户端客户端真实IP,kubernetes,tcp/ip,容器
3.添加以下配置点击保存即可
k8s ingress获取客户端客户端真实IP,kubernetes,tcp/ip,容器文章来源地址https://www.toymoban.com/news/detail-640921.html

到了这里,关于k8s ingress获取客户端客户端真实IP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 部署k8s客户端,及docker私仓部署

     将下面127.0.0.1换成上一步docker私仓地址,目的可以通过http方式拉取镜像 修改结束后,执行 systemctl restart containerd 刷新配置 ip均需要替换成服务器ip 页面访问http://127.0.0.1:80即可进入客户端管理页面 默认密码 admin/Kuboard123 构建后需要push,不然私仓其实是找不到该镜像的 参照

    2024年04月15日
    浏览(40)
  • 获取客户端真实IP的方法

    获取请求的IP很简单,可以直接使用request.getRemoteAddr()直接获取。但由于请求在转发到接口前,会经过大量的反向代理,例如流程图中,至少要经过Nginx后,请求才会转发到接口,因此需要对请求接口的IP做处理,提取客户端真实IP地址。 配置Nginx的配置文件,需要反向代理服务

    2024年02月16日
    浏览(50)
  • nginx获取客户端真实ip

    在nginx中获取客户端真实IP的方法有多种,以下是其中两种常用的方法: 使用nginx的access_log模块记录请求日志,并在日志中包含客户端的真实IP信息。例如: 在上述配置中,通过使用http_x_forwarded_for字段来获取客户端的真实IP地址。如果该字段不存在或不合法,则使用remote_ad

    2024年02月16日
    浏览(50)
  • nginx 获取客户端真实IP

    网站接入Web应用防火墙WAF(Web Application Firewall)后,访问请求在到达源站服务器之前,需要经过WAF的代理转发。这种情况下,源站服务器可以通过解析回源请求中的X-Forwarded-For记录,获取客户端的真实IP。 WAF在将客户端的访问请求转发到下一环节的服务器时,会在HTTP的请求头

    2023年04月09日
    浏览(48)
  • kubernetes获取客户端真实ip

    大部分的业务场景都需要获取客户端的ip来审计或采取措施,文章从nodeport暴露方式获取真实ip到ingress-nginx获取真实ip 初学者用k8s创建时暴露方式一般采用nodeport,这样方式暴露导致应用负载和访问者并不是同一段网络,当web服务获取客户端ip的时候会发现获取到的ip是k8s网关的

    2024年02月01日
    浏览(45)
  • nginx如何获取真实客户端ip

    nginx作为反向代理服务器,即代理我们的服务端,下面介绍下如何配置nginx获取真实的客户端ip 1、配置nginx.con 2、在java程序中可以通过如下方式获取: 这样就可以打印出真实ip了!即request.getHeader(\\\"X-Real-IP\\\")的值 引用: 查看端口占用及释放所占用的端口_查询谷歌浏览器的端口

    2024年02月11日
    浏览(54)
  • Nginx(二十) 获取真实客户端IP

            客户端在访问互联网应用服务器时,与真实的应用服务器之间会因为有多层反向代理,而导致真实应用服务器获取的仅是最近一层的反向代理服务器 IP。为使 Nginx 后端的上游服务器可以获得真实客户端 IP,Nginx 提供了 ngx_http_realip_module 模块用以实现真实客户端

    2024年01月16日
    浏览(45)
  • 获取客户端真实 IP 地址的最佳实践

    1. 业务上云带来性能收益 公司从去年全面推动业务上云,而以往 IDC 架构部署上,接入层采用典型的 4 层 LVS 多机房容灾架构,在业务高峰时期,扩容困难(受限于物理机资源和 LVS 内网网段的网络规划),且抵挡不住 HTTPS 卸载引发的高 CPU 占用。 而经过压力测试发现,使用

    2024年02月05日
    浏览(58)
  • Nginx代理后获取客户端真实IP地址

    在项目实际应用中,我们可能会需要获取到用户也就是客户端的真实IP地址,比如记录系统操作日志等情况。 通常情况下我们可以使用以下方式来获取IP地址 但是当我们使用Nginx反向代理项目地址后,使用以上方法只能获取到Nginx服务器的IP地址,并不是客户端的IP地址。 解决

    2023年04月11日
    浏览(47)
  • 学习NodeJs之【如何获取客户端真实IP】

            产品想要增加一个操作日志的模块,重点记录增删改的操作ip。         这块业务其实需要按【是否代理】来分逻辑。首次开发时,并未考虑  测试生产环境有统一代理  ,导致传统的获取ip方式取到了容器网关ip。——显然这样是无法满足产品想要区分操作

    2024年02月03日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包