【问题标题】:Request Header based routing (User Agent) using Ingress in Kubernetes在 Kubernetes 中使用 Ingress 基于请求标头的路由(用户代理)
【发布时间】:2022-08-18 17:16:11
【问题描述】:

我在 kubernetes 中使用 DB less kong 作为网关,我的用例是将流量从浏览器重定向到他们可以下载 Electron 应用程序的 URL,如果流量来自 Electron 应用程序,它会重定向到前端。 我正在使用入口进行路由。

任何人都可以分享一个如何做到这一点的例子吗?

问候

    标签: kubernetes


    【解决方案1】:

    如果“用户代理”包含所需的“代理”名称,您可以尝试重定向。

    ingress:
      enabled: true
      annotations:
        kubernetes.io/ingress.class: nginx
        kubernetes.io/tls-acme: "true"
        nginx.ingress.kubernetes.io/ssl-redirect: "true"
        cert-manager.io/cluster-issuer: letsencrypt-issuer
        nginx.ingress.kubernetes.io/configuration-snippet: |
          proxy_set_header l5d-dst-override $service_name.$namespace.svc.cluster.local:$service_port;
          grpc_set_header l5d-dst-override $service_name.$namespace.svc.cluster.local:$service_port;
        nginx.ingress.kubernetes.io/server-snippet:  |
          if ($http_user_agent ~* "(Electron)" ) { 
            rewrite / https://frontendapp.example.com permanent;
          }
      hosts:
        - host: test.exmaple.com
          paths:
            - path: /
              pathType: Prefix
      tls:
        - secretName: test-tls
          hosts:
            - test.example.com
    

    如果用户代理包含电子,否则提供默认响应,并重定向到https://frontendapp.example.com

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 2017-01-14
      • 2019-12-17
      • 2012-12-09
      • 2018-02-23
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-10
      相关资源
      最近更新 更多