我有一个服务,为多个/位置提供服务。我想使任何 IP 都可以访问单个位置/how/非常/specialy,同时保持每个其他位置只能由受信任的 IP 列表访问(当可以时
,这样做很简单通过 traefik 或入口控制器实现此目的的最佳实践方法是什么?挎斗nginx是添加此逻辑的唯一方法吗?
你可以通过在 Kubernetes 中使用 Nginx 入口控制器来实现这一点,因为它存在于文档 https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#user-content-whitelist-source-range
您可以通过 nginx.ingress.kubernetes.io/whitelist-source-range 注释。这 值是以逗号分隔的 CIDR 列表,例如 10.0.0.0/24,172.10.0.1。
若要为所有入口规则全局配置此设置,请将 白名单源范围值可以在NGINX配置图中设置。
!!注释 向入口规则添加注释将覆盖任何全局 限制。
因此,默认情况下,您应该将受信任的IP CIDRS放在Nginx ConfigMap中,并通过将CIDR设置为0.0.0.0/0来仅覆盖/how/very/special