如何在Kubernetes Nginx入口控制器的X-Forwarding-For上附加Nginx IP [英] How to append Nginx IP to X-Forwarded-For in Kubernetes Nginx Ingress Controller

查看:13
本文介绍了如何在Kubernetes Nginx入口控制器的X-Forwarding-For上附加Nginx IP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道"如何将Nginx IP附加到X-Forwarded-For"

我在Inress批注中添加了代码段。

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ing
  annotations:
    nginx.ingress.kubernetes.io/configuration-snippet: |
      proxy_set_header X-Forwarded-For "$remote_addr, $server_addr";

但它似乎在nginx.conf中重复设置。

    proxy_set_header X-Forwarded-For        $remote_addr;
...
    proxy_set_header X-Forwarded-For "$remote_addr, $server_addr";

这样我的后端服务器将得到两个X-Forwarded-For

有谁知道"如何禁用Nginx入口控制器生成的Proxy_Set_Header部分"?

        proxy_set_header X-Request-ID           $req_id;
        proxy_set_header X-Real-IP              $remote_addr;

        proxy_set_header X-Forwarded-For        $remote_addr;

        proxy_set_header X-Forwarded-Host       $best_http_host;
        proxy_set_header X-Forwarded-Port       $pass_port;
        proxy_set_header X-Forwarded-Proto      $pass_access_scheme;

        proxy_set_header X-Scheme               $pass_access_scheme;

推荐答案

您的配置片段没有被重复,实际上发生的是proxy_set_header X-Forwarded-For $remote_addr;在您的集群中部署ngix控制器时已经默认设置了。

要禁用此默认设置,您需要使用custom template

通过这样做,您可以拥有一个没有proxy_set_header X-Forwarded-For $remote_addr;的nginx.conf,这样您就可以根据需要使用您所描述的注释来设置它。

这篇关于如何在Kubernetes Nginx入口控制器的X-Forwarding-For上附加Nginx IP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆