Azure Kubernetes 服务上的 nginx 入口 IP 允许列表

Azure Kubernetes 服务上的 nginx 入口 IP 允许列表

我设置了一个 SOLR 集群,其中有一个 LoadBalancer 类型的服务,用于公开端口 8983。要求是 SSL 终止,因此我设置了一个 nginx 入口控制器,并路由到后端服务。所有这些都按预期工作,但是我现在想限制仅对某些 IP 进行访问。

当我尝试使用 nginx.ingress.kubernetes.io/whitelist-source-range 注释时,我注意到所有请求都来自节点的内部 IP,而不是预期的来自客户端。这是否意味着流量在到达 AKS 集群之前需要进行过滤?如果是这样,那么最好的方法是什么,因为似乎不建议修改自动创建的 NSG。

答案1

为了正确传递外部 IP,以便您可以过滤它,您需要在 Nginx 中将 service.spec.externalTrafficPolicy 字段设置为 Local。

相关内容