So konfigurieren Sie domänenspezifische Routen in Zuul

8

Wir haben 2 Domains, die auf unsere Single Zuul ELB verweisen. Beide Seiten verwenden viele der gleichen Dienste. Obwohl unsere Produktionsumgebung jetzt etwas anders eingerichtet ist, haben wir nur die eine Zuul ELB.

Wie können wir den gleichen Pfad basierend auf dem Domänennamen zu verschiedenen Diensten leiten?

Ich würde gerne mit so etwas enden:

%Vor%

Ist das überhaupt möglich oder müsste ich eine andere zuul-Instanz einrichten?

    
Randyaa 19.05.2016, 16:16
quelle

1 Antwort

1

Hier ist eine mögliche Lösung:

  1. Fügen Sie in Ihren zuul-Konfigurationen eine Wildcard-Routing-Regel hinzu, um jede Anfrage an / ** weiterzuleiten und das Stripping-Präfix für diese Routing-Regel zu deaktivieren.
  2. Fügen Sie einen neuen Routing-Filter vom Typ route hinzu und lassen Sie ihn vor RibbonRoutingFilter ausführen, da in diesem Filter eine Ausnahme für einen ungültigen Host /**.
  3. Fügen Sie Domänenkonfigurationen in Ihren zuul yaml-Konfigurationen für Ihre verschiedenen Domänen hinzu.
  4. Verwenden Sie Ihren Filter zusammen mit den Domänenkonfigurationen, um Ihren Host basierend auf der Domäne zu ändern.

Hier ist ein Beispielcode:

%Vor%

Sie müssen / health ignorieren, da es mit der Wildcard-Routing-Regel übereinstimmt und ein Problem verursacht - sollte stattdessen einem der Federaktoren zugeordnet werden, sodass wir sie ignorieren es und lass alles wie zuvor behandelt werden.

Für die Domänenkonfigurationen ist hier ein Beispiel:

%Vor%

In Ihrem Filter müssen Sie nun nur noch unseren Host basierend auf der passenden Domain einstellen.

    
Karim Masoud 25.09.2017 08:01
quelle

Tags und Links