是否可以将通过Nginx入口访问Google Kubernetes Engine服务的外部IP列入白名单?

时间:2019-02-18 10:36:31

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

我有一个在GKE上运行的k8s集群。该集群使用nginx-ingress将某些服务公开给Internet。我想为这些服务的子集配置IP白名单,因为我正在使用nginx.ingress.kubernetes.io/whitelist-source-range,例如:

kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/add-base-url: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: 30M
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/whitelist-source-range: 81.x.x.x
  generation: 7
  name: my-apps
  namespace: client-apps
  spec:
  rules:
  - host: somehost.com
    http:
      paths:
      - backend:
          serviceName: app1
          servicePort: 8080

使用此配置,无法从具有该IP的客户端访问我的服务。在NGINX入口日志中,我看到:

  

10.0.0.36-[10.0.0.36]--[18 / Feb / 2019:10:3​​4:34 +0000]“ GET / xxx HTTP / 2.0” 403 0“ https://xxx”“ Mozilla / 5.0 (Windows NT 10.0; Win64;   x64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 72.0.3626.109   Safari / 537.36“

因此,入口阻止了来自10.0.0.36的请求的访问。但是,实际的客户端IP是81.x.x.x。是否可以通过原始IP进行过滤?

0 个答案:

没有答案
相关问题