我有一个服务于多个位置的服务。我想使任何IP都可以通过一个/ how /非常/特殊位置访问单个位置,而让其他/ location只能访问一个受信任IP列表(在可以的情况下这很简单
通过traefik或入口控制器实现此目标的最佳实践方法是什么? Sidecar Nginx是添加此逻辑的唯一方法吗?
答案 0 :(得分:1)
您可以通过使用Kubernetes中的Nginx入口控制器作为文档https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#user-content-whitelist-source-range
来实现您可以通过以下方式指定允许的客户端IP源范围 nginx.ingress.kubernetes.io/whitelist-source-range注解。的 value是逗号分隔的CIDR列表,例如10.0.0.0/24,172.10.0.1。
要为所有Ingress规则全局配置此设置,请 可以在NGINX ConfigMap中设置whitelist-source-range值。
!!! note备注在Ingress规则中添加注释会覆盖所有全局注释 限制。
因此,默认情况下,您应该将可信IP CIDRS放在Nginx ConfigMap中,并通过将CIDR设置为0.0.0.0/0来仅对/how/very/special
覆盖该规则