Gateway網關匹配規則


Gateway匹配規則

重要概念

路由 route
斷言 predicate
過濾器 fliter

一、時間匹配

在 after 時間之后的所有請求轉發到 URI中的地址

gateway:
      discovery:
        locator:
          enabled: true  #啟動服務中心注冊與發現,通過服務id訪問服務
          lower-case-service-id: true
      routes:
        - id: time_route
          uri: https://www.baidu.com
          predicates:
            - After=2018-01-20T06:06:06+08:00[Asia/Shanghai]

在 before 時間之前的所有請求轉發到 URI中的地址

gateway:
      discovery:
        locator:
          enabled: true  #啟動服務中心注冊與發現,通過服務id訪問服務
          lower-case-service-id: true
      routes:
        - id: time_route
          uri: https://www.baidu.com
          predicates:
            - After=2018-01-20T06:06:06+08:00[Asia/Shanghai]

Between 在這個時間段可以訪問

- Between=2018-01-20T06:06:06+08:00[Asia/Shanghai], 2019-01-20T06:06:06+08:00[Asia/Shanghai]
gateway:
      discovery:
        locator:
          enabled: true  #啟動服務中心注冊與發現,通過服務id訪問服務
          lower-case-service-id: true
      routes:
        - id: cookie_route
          uri: https://www.baidu.com
          predicates:
            - Cookie=know, abc

三、通過 Header 匹配

gateway:
      discovery:
        locator:
          enabled: true  #啟動服務中心注冊與發現,通過服務id訪問服務
          lower-case-service-id: true
      routes:
        - id: cookie_route
          uri: https://www.baidu.com
          predicates:
           - Header=X-Request-Id, \d+

四、通過 Host 匹配

gateway:
      discovery:
        locator:
          enabled: true  #啟動服務中心注冊與發現,通過服務id訪問服務
          lower-case-service-id: true
      routes:
        - id: cookie_route
          uri: https://www.baidu.com
          predicates:
           - Host=**.baidu.com

五、通過 Method 匹配

gateway:
      discovery:
        locator:
          enabled: true  #啟動服務中心注冊與發現,通過服務id訪問服務
          lower-case-service-id: true
      routes:
        - id: cookie_route
          uri: https://www.baidu.com
          predicates:
           - Method=GET

六、通過 Path 匹配

請求中包含 smile 屬性的參數即可匹配路由。

gateway:
      discovery:
        locator:
          enabled: true  #啟動服務中心注冊與發現,通過服務id訪問服務
          lower-case-service-id: true
      routes:
        - id: cookie_route
          uri: https://www.baidu.com
          predicates:
      		 - Path=/test/{1}

七、通過 參數 匹配

請求中包含 keep 屬性並且參數值是以 pu 開頭的長度為三位的字符串才會進行匹配和路由

gateway:
      discovery:
        locator:
          enabled: true  #啟動服務中心注冊與發現,通過服務id訪問服務
          lower-case-service-id: true
      routes:
        - id: cookie_route
          uri: https://www.baidu.com
          predicates:
      		 - Query=keep, selp.

八、通過 ip 地址

gateway:
      discovery:
        locator:
          enabled: true  #啟動服務中心注冊與發現,通過服務id訪問服務
          lower-case-service-id: true
      routes:
        - id: cookie_route
          uri: https://www.baidu.com
          predicates:
      		 - RemoteAddr=192.168.1.1/24

一個請求滿足多個路由的謂詞條件時,請求只會被首個成功匹配的路由轉發


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM