【发布时间】:2017-12-27 10:49:37
【问题描述】:
在 GKE 上运行 Kubernetes
使用 helm 安装最新稳定版本的 Nginx 控制器。
一切正常,除了添加 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
我连接到控制器 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。
【问题讨论】:
-
澄清一下,此配置将锁定来自不是 x.x.x.x 或 y.y.y.y 的 IP 的每个请求。您正在发送来自那些获得 403 响应的 IP 的请求?
标签: nginx kubernetes google-compute-engine