Kong :: X-FORWARDED-FOR 中缺少客户端 IP

Kong :: Client IP missing in X-FORWARDED-FOR

在 Kubernetes 中使用 Kong 入口控制器 (v2.1)。 运行 在数字海洋中。

问题是 HTTPS 请求的 X-FORWARDED-FOR header 中缺少客户端 IP,但存在于 HTTP 请求中。我还需要能够在 HTTPS 请求中看到 IP。

HTTP 请求 X-FORWARDED-FOR header 中收到的值为“, ”。 然而,在 HTTPS 请求的情况下,该值是“”。 client-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"

问题出在 SLL 直通上。使用此配置时,您不能修改 headers。您应该使用 SSL 终止,除非您有一些特定的合规性要求。

查看文档了解更多信息: https://www.digitalocean.com/docs/networking/load-balancers/how-to/ssl-passthrough/