使用Nginx / traefik入口控制器自定义vhost配置

时间:2018-09-30 23:14:18

标签: kubernetes traefik kubernetes-ingress nginx-ingress

我有一个服务于多个位置的服务。我想使任何IP都可以通过一个/ how /非常/特殊位置访问单个位置,而让其他/ location只能访问一个受信任IP列表(在可以的情况下这很简单

通过traefik或入口控制器实现此目标的最佳实践方法是什么? Sidecar Nginx是添加此逻辑的唯一方法吗?

1 个答案:

答案 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覆盖该规则