【发布时间】:2021-11-26 17:00:31
【问题描述】:
我有一个 python 程序,它使用 request.client.host 标头和快速 API 获取客户端 IP。
该程序在 kubernetes pod(ip-pod) 上运行。
我有另一个使用 KrakenD 实现的网关 API,它在 kubernetes 集群中的另一个 pod 上运行。
两者(ip-pod 和 KrakenD)的 Kubernetes yaml 文件都具有 externalTrafficPolicy: Local 属性
我无法检索用户的真实 IP,这可能是因为 KrakenD 不允许真实 IP 访问 ip-pod。
我已经通过使用type: LoadBalancer 将 ip-pod 暴露在互联网上来测试该程序,这样它就可以提供正确的客户端 IP。但是当我使用 KrakenD 网关时,IP 是不同的(私有 IP)。
【问题讨论】:
标签: api kubernetes api-gateway krakend