• SNI 路由和多协议端口的 TCP


    文章转载自:https://mp.weixin.qq.com/s/nMMN7hAJK6SFn1V1YyxvHA

    下面是一个简单的示例配置 - 使用最新支持的 YAML 文件格式,将请求路由到一个数据库上面去:

    tcp:
      routers:
        to-database:
          entrypoints:
          - database-entrypoint
          rule: HostSNI(`*`)
          service: database-service
      services:     
        database-service:
          loadBalancer:
            servers:
            - address: xx.xx.xx.xx:xx
    

    上面这个配置示例表示每个以 database-entrypoint 结尾的请求都将被路由到 database-service 这个服务上去。

    此外通过 TLS,Traefik 还可以根据 SNI 来路由 TCP 请求。在下面示例中,Traefik 就将根据 SNI 将请求路由到两个数据库:

    tcp:
      routers:
        to-db-1:
          entrypoints:
          - web-secure
          rule: "HostSNI(`db1.domain`)"
          service: "db1"
          tls: {} 
        to-db-2:
          entrypoints:
          - web-secure
          rule: "HostSNI(`db2.domain`)"
          service: "db2"
          tls: {}
    

    另外 Traefik 还是支持 HTTP 和 TCP 在同一个端口上,如果你希望获得相同的入口的同时获取 HTTP 和 TCP 请求,那么 Traefik 可以很完美的来处理它。

    tcp:
      routers:
        to-db-1:
          entrypoints:
          - web-secure
          rule: "HostSNI(`db1.domain`)"
          service: "db-1"
          tls: {}
    http:
      routers:
        to-db1-dashboard:
          entrypoints:
          - web-secure
          rule: "Host(`dashboard.db1.domain`)"
          service: "db1-dashboard"
          tls: {}
    

    上面这个示例中, dashboard.db1.domain 上的 HTTP 请求将路由到数据库的 Dashboard 服务上,而上面的 db1.domain 上的 TCP 请求将路由到数据库上面去。

  • 相关阅读:
    IBM Minus One(water)
    约瑟夫问题的循环链表实现
    双向链表(差不多)
    单向链表的建立,插入,删除(复习一下)
    找新朋友(欧拉函数)
    验证角谷猜想(hd1279)
    Wolf and Rabbit(gcd)
    Big Number(大数)
    字串数(高精度组合数)
    寻找素数对(hd1262)
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/15744904.html
Copyright © 2020-2023  润新知