首页 > 解决方案 > Kubernetes 入口条件路由

问题描述

是否可以在 Kubernetes 中配置入口控制器,仅当传入请求的标头具有特定值时才将 HTTP 请求路由到服务?

例子

带有以下标头的 HTTP 请求

X-MY-CUSTOM-HEADER: accepted-value

应该转发到 service1

带有以下标头的 HTTP 请求

X-MY-CUSTOM-HEADER: invalid-value

应该被阻止

如果可能的话,您能否详细说明一下或指出一些文档,因为我无法找到此类用例的文档

标签: kuberneteskubernetes-ingress

解决方案


如果您使用的是 nginx 入口控制器,则可以使用配置片段注释来完成。然后你可以添加这样的东西:

nginx.ingress.kubernetes.io/configuration-snippet: |
  map $http_x_custom_header $not_ok {
      default "1";
      Value1  "0";
      Value2  "0";
      Value3  "0";
  }

  if ($not_ok) {
      return 403; 
  }

更多信息在这里


推荐阅读