【问题标题】:Whitelisting an IP address in nginx ingress controller在 nginx 入口控制器中将 IP 地址列入白名单
【发布时间】:2022-11-01 20:14:38
【问题描述】:

我在 nginx 入口控制器后面有一个服务。我想根据 IP 限制对它的访问。我在入口清单中添加了注释: nginx.ingress.kubernetes.io/whitelist-source-range: "my_ip/32"

默认情况下,nginx 入口控制器服务 externalTrafficPolicy 设置为本地,但问题是 nginx 入口控制器甚至拒绝我的白名单 IP。 有什么想法吗?

【问题讨论】:

  • 您确定 my_ip 的值实际上是您的 IP 地址吗?您的客户端计算机是否位于代理或 NAT 网关后面?

标签: google-cloud-platform google-kubernetes-engine nginx-ingress


【解决方案1】:

注释 nginx.ingress.kubernetes.io/whitelist-source-range: "IP" 将覆盖您的一些配置。如Nginx docs 中所述: “向 Ingress 规则添加注释会覆盖任何全局限制”。

另一种选择是使用 ConfigMap whitelist-source-range。就像this example 中提到的那样,您可以使用 ngx_http_access_module。

在 Nginx 配置中,每个路径都保存为

location / {
  …
}

location /api {
  …
}

您可以在那里添加这些限制。下面的例子:

location / {
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 2021-01-06
    • 2019-10-20
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多