具体案例:ingress前面在有haproxy和cdn的情况下获取用户真实ip

修改haproxy的配置

server后端服务器后面添加send-proxy

改完后如下图

再去修改ingress-controller

kubectl -n ingress-nginx edit cm ingress-nginx-controller-default

添加如下四行

compute-full-forwarded-for: "true"
forwarded-for-header: "X-Forwarded-For"
use-forwarded-headers: "true"
use-proxy-protocol: 'true'

注意:use-proxy-protocol: 'true'这个加完之后如果重启了ingress-controller未重启haproxy之前页面会打不开,这时候在haproxy的配置里把send-proxy加上就可以打开了

查看ingress日志可以看到可以拿到真实IP了

  • No labels