在GKE上运行Kubernetes
使用helm安装最新稳定版本的Nginx控制器.
Everythings运行良好,除了添加白名单源范围注释导致我完全被锁定在我的服务之外.
Ingress配置
apiVersion:extensions / v1beta1
善良:Ingress
元数据:
name:staging-ingress
命名空间:staging
注释:
kubernetes.io/ingress.class:Nginx
ingress.kubernetes.io/whitelist-source-range:“x.x.x.x,y.y.y.y”
规格:
规则:
– 主持人:staging.com
HTTP:
路径:
– 路径:/
后端:
服务名:分期业务
servicePort:80
我连接到控制器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”}}’
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。