2016-05-11 8 views
6

Ist es möglich, Pfade oder Matcher vom Zuul Routing auszuschließen?Wie können spezielle Pfade oder Routen von Zuul Routing ausgeschlossen oder ignoriert werden?

Das Ziel ist, dass

  • Alle Anfragen an /Verträge/**-contract.example.com geroutet werden
  • Alle Anfragen an /audit/** geroutet werden audit.example.com
  • Alle Anfragen an /Herzschlag/** oder /sso/** werden direkt von zuul aus bedient.
  • Alle anderen Anfragen (/**) an html.example.com

geroutet Ich habe Konfiguration wie folgt aus:

zuul: 
    routes: 
     contract: 
      path: /contracts/** 
      url: http://contracts.example.com:8080/api 
     audit: 
      path: /audits/** 
      url: http://audit.example.com:8080 
     html: 
      path: /** 
      url: http://html.example.com:80 

Nun ist die Frage, wie zu definieren, dass /Herzschlag und /sso wird nicht zu html.example.com von zuul weitergeleitet?

Ich benutze Spring Boot und seine AutoConfiguration.

Antwort

9

Es gibt eine Konfigurationseigenschaft namens ignored-patterns. Damit ist es möglich, Matcher zu definieren, um Routen vom Routing auszuschließen.

zuul: 
    ignoredPatterns: 
     - /heartbeat/** 
     - /sso/** 
    routes: 
     contract: 
      path: /contracts/** 
      url: http://contracts.example.com:8080/api 
     audit: 
      path: /audits/** 
      url: http://audit.example.com:8080 
     html: 
      path: /** 
      url: http://html.example.com:80 
+0

Anscheinend ist es 'ignoredPatterns', nicht' ignoriert-patterns' – demaniak

+0

Ich habe das Beispiel aktualisieren. Thx – d0x

+5

Zuul akzeptiert keine ignoredPatterns-Werte, die als Sequenz aufgelistet sind. Seine Werte sollten durch Komma getrennt sein, wie ignoredPatterns: value1, value2, value3, da es als LinkedHashSet implementiert ist. – Shafiul

3

Ab Brixton.SR6 die ignoredPattern Eigenschaften sollten andere in der application.yml-Datei definiert werden. Es sollte wie folgt definiert werden:

zuul: 
ignoredPatterns: /heartbeat/**, /sso/** 
routes: 
    contract: 
     path: /contracts/** 
     url: http://contracts.example.com:8080/api 
Verwandte Themen