gpt4 book ai didi

nginx - Kubernetes whitelist-source-range block 而不是白名单 IP

转载 作者:行者123 更新时间:2023-12-04 18:21:31 24 4
gpt4 key购买 nike

在 GKE 上运行 Kubernetes

使用 helm 安装了具有最新稳定版本的 Nginx Controller 。

一切都运行良好,除了添加 whitelist-source-range 注释导致我完全无法使用我的服务。

入口配置

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: staging-ingress
namespace: staging
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/whitelist-source-range: "x.x.x.x, y.y.y.y"
spec:
rules:
- host: staging.com
http:
paths:
- path: /
backend:
serviceName:staging-service
servicePort: 80

我连接到 Controller pod 并检查了 nginx 配置并发现了这个:
# Deny for staging.com/
geo $the_real_ip $deny_5b3266e9d666401cb7ac676a73d8d5ae {
default 1;

x.x.x.x 0;
y.y.y.y 0;
}

看起来他是把我锁在外面,而不是把这个 IP 列入白名单。但它也锁定了所有其他地址......我从 staging.com 主机得到 403。

最佳答案

是的。不过,我自己想通了。您的服务必须启用 externalTrafficPolicy: Local 。这意味着应该使用实际的客户端 IP 而不是内部集群 IP。

为了完成这个运行kubectl patch svc nginx-ingress-controller -p '{"spec":{"externalTrafficPolicy":"Local"}}'

关于nginx - Kubernetes whitelist-source-range block 而不是白名单 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47990836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com