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

问题描述

在Kubernetes中使用Kong入口控制器(v2.1)。在Digital Ocean中运行。

问题是客户端IP在HTTPS请求的X-FORWARDED-FOR标头中丢失,但仍存在于HTTP请求中。我还需要能够在HTTPS请求上看到IP。

在HTTP请求的X-FORWARDED-FOR标头中收到的值为“ ”。 但是在HTTPS请求的情况下,该值为“ ”。客户端IP丢失。

使用“帮助”安装了Kong。 config最相关的部分是:

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直通上。使用此配置时,您无法修改标题。除非您有一些特定的合规性要求,否则您应该使用SSL终止。

查看文档以了解更多信息: React documentation