在 GKE 上运行 Kubernetes
使用 helm 安装最新稳定版的 Nginx 控制器。
除了添加 whitelist-source-range 注释会导致我完全无法访问我的服务之外,一切都正常工作。
Ingress 配置
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的错误。
他似乎在把我排除在外,而非将这些IP添加到白名单里。但这也导致了所有其他地址被锁定……当我从staging.com主机访问时,我收到了403错误。
(Note: I have provided two possible translations to account for different interpretations of the original text.)