首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在k3s上使用Traefik时,如何获取客户端的真实ip地址?

在k3s上使用Traefik时,如何获取客户端的真实ip地址?
EN

Stack Overflow用户
提问于 2021-03-19 19:21:52
回答 1查看 338关注 0票数 2

我已经阅读了许多博客文章、SO问题以及k3s文档,但仍然无法获得客户端的真实ip地址,而不是内部集群的ip地址。

我有一个使用Traefik1.8的标准k3s安装。正如在几个github问题中所指出的,我已经将我的所有服务都设置为使用Clusterip,并且我为我的Traefik和apache服务设置了externalTrafficPolicy: Local。

奇怪的是,Traefik似乎正在传递任何报头,比如x-forwarded-for,因为如果我手动将带有我的ip地址的x-forwarded-for添加到我的浏览器请求中,apache日志中的结果会有我的ip以及用逗号分隔的内部集群ip。

当流量进入本应注入ip地址的集群时,是否存在在Traefik实例之前命中的情况?

EN

回答 1

Stack Overflow用户

发布于 2021-04-08 02:07:27

似乎有很多事情可以导致这个问题。在我的例子中,这是一个比较常见的问题。我只需要对k3s traefik清单打补丁,就可以拥有hostNetwork: true。

代码语言:javascript
复制
kubectl patch deployment traefik --patch '{"spec":{"template":{"spec":{"hostNetwork":true}}}}'

应该注意的是,不建议手动修改此清单,因为它由helm管理。因此,如果helm进程再次运行,或者k3s被重新安装或更新,它将恢复,您将不得不再次运行此修补程序。您必须修改traefik的k3s舵图,或者实现您自己的舵图来代替k3s舵图,才能使此更改生效。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66707211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档