Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to exclude or ignore special paths or routes from zuul routing

Is it possible to exclude paths or matchers from the Zuul routing?

The goal is that

  • All requests to /contracts/** are routed to contract.example.com
  • All requests to /audit/** are routed to audit.example.com
  • All requests to /heartbeat/** or /sso/** are served from zuul directly.
  • All other requests (/**) are routed to html.example.com

I have configuration like this:

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

Now the question is how to define that /heartbeat and /sso isn't routed to html.example.com by zuul?

I'm using Spring Boot and its AutoConfiguration.

like image 248
d0x Avatar asked May 11 '16 15:05

d0x


2 Answers

There is a configuration property called ignored-patterns. With this it is possible to define matchers to exclude routes from routing.

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
like image 169
d0x Avatar answered Nov 18 '22 21:11

d0x


As of Brixton.SR6 the ignoredPattern properties should be defined different in the application.yml file. It should be defined as follows:

zuul:
ignoredPatterns: /heartbeat/**, /sso/**
routes:
    contract:
        path: /contracts/**
        url: http://contracts.example.com:8080/api
like image 25
Turbut Alin Avatar answered Nov 18 '22 22:11

Turbut Alin