在 Kubernetes 中使用 Kong 入口控制器 (v2.1)。在数字海洋中运行。
问题是 HTTPS 请求的 X-FORWARDED-FOR 标头中缺少客户端 IP,但在 HTTP 请求中存在。我还需要能够看到 HTTPS 请求上的 IP。
在 HTTP 请求的 X-FORWARDED-FOR 标头中收到的值为“<the-client-ip>, <the-k8s-node-ip>”。然而,在 HTTPS 请求的情况下,该值为“<the-k8s-node-ip>”。客户端 IP 丢失。
Kong使用帮助安装。配置中最相关的部分是:
proxy:
enabled: true
http:
enabled: true
annotations:
service.beta.kubernetes.io/do-loadbalancer-protocol: "http"
service.beta.kubernetes.io/do-loadbalancer-algorithm: "round_robin"
service.beta.kubernetes.io/do-loadbalancer-tls-ports: "443"
service.beta.kubernetes.io/do-loadbalancer-tls-passthrough: "true"