Wie Anforderungen mit einer Routenkonfiguration abgeglichen werden

Eine Route in Azure Front Door definiert, wie der Datenverkehr verarbeitet wird, wenn eine eingehende Anforderung am Azure Front Door-Edge eingeht. Die Routeneinstellungen richten eine Zuordnung zwischen einer Domäne und einer Ursprungsgruppe ein. Durch die Verwendung von erweiterten Funktionen wie Muster für Abgleich und Regelsatz können Sie den Datenverkehr zu Ihren Back-End-Ressourcen präzise steuern.

Hinweis

Bei Verwendung der Front Door-Regelsätze können Sie eine Regel konfigurieren, um für eine Anforderung die Ursprungsgruppe außer Kraft zu setzen. Die vom Regelsatz festgelegte Ursprungsgruppe setzt den in diesem Artikel beschriebenen Routingprozess außer Kraft.

Wichtig

Azure Front Door (classic) geht am 31. März 2027 in den Ruhestand. Da der Dienst eingestellt wird, unterstützt er keine Profilerstellung, das Onboarding neuer Domains oder verwaltete Zertifikate mehr. Um Dienstunterbrechungen zu vermeiden, migrieren Sie zu Azure Front Door Standard oder Premium. Weitere Informationen finden Sie unter ⁠Einstellung von Azure Front Door (klassisch).

Wenn eine Anforderung am Azure Front Door-Edge (klassisch) eingeht, besteht einer der ersten Schritte darin, zu bestimmen, wie die übereinstimmende Anforderung an eine Back-End-Ressource weitergeleitet, und dann eine definierte Aktion in der Routingkonfiguration ausgeführt wird. Dieses Dokument erläutert, wie Front Door bestimmt, welche Routenkonfiguration beim Verarbeiten einer Anforderung verwendet werden soll.

Struktur einer Front Door-Routenkonfiguration

Die Front Door-Routingregel besteht aus zwei Hauptteilen: der „linken Seite“ und der „rechten Seite“. Front Door gleicht die eingehende Anforderung mit der linken Seite der Route ab, während die rechte Seite definiert, wie die Anforderung verarbeitet wird.

Abgleich der eingehenden Anforderung (linke Seite)

Die folgenden Eigenschaften bestimmen, ob die eingehende Anforderung mit der Routingregel (linke Seite) übereinstimmt:

  • HTTP-Protokolle – HTTP oder HTTPS
  • Domäne – z. B.: www.foo.com, *.bar.com
  • Pfade – z. B.: /*, /users/*, /file.gif

Diese Eigenschaften werden intern erweitert, sodass jede Kombination aus Protokoll/Domäne/Pfad ein potenzieller Treffer ist.

Routingentscheidung (rechte Seite)

Die Entscheidung darüber, wie die Anforderung verarbeitet werden soll, richtet sich danach, ob für die Route Zwischenspeichern aktiviert ist. Wenn keine zwischengespeicherte Antwort verfügbar ist, wird die Anforderung an den entsprechenden Ursprung weitergeleitet.

Routenabgleich

In diesem Abschnitt wird erläutert, wie Front Door Anforderungen mit Routingregeln abgleicht. Das Grundprinzip besteht darin, dass Front Door immer mit der spezifischsten Anforderung übereinstimmt, indem die Eigenschaften der „linken Seite“ ausgewertet werden: Protokoll, Domäne und Pfad in dieser Reihenfolge.

Abgleich von Frontend-Hosts

Azure Front Door verwendet die folgenden Schritte, um Front-End-Hosts abzugleichen:

  1. Suchen Sie nach Routen mit einer exakten Übereinstimmung auf dem Front-End-Host.
  2. Wenn keine exakte Übereinstimmung gefunden wird, wird die Anfrage mit einem 404: Bad Request-Fehler ab.

Die folgenden Tabellen veranschaulichen drei verschiedene Routingregeln mit ihren Frontend-Hosts und Pfaden:

Routingregel Front-End-Hosts Pfad
Ein foo.contoso.com /*
B foo.contoso.com /Benutzer/*
C www.fabrikam.com, foo.adventure-works.com /*/Bilder/*

Die folgende Tabelle zeigt die übereinstimmenden Ergebnisse für die Routingregeln in der vorherigen Tabelle:

Eingehender Frontend-Host Übereinstimmende Routingregeln
foo.contoso.com A, B
www.fabrikam.com C
images.fabrikam.com Fehler 404 – Ungültige Anforderung
foo.adventure-works.com C
contoso.com Fehler 404 – Ungültige Anforderung
www.adventure-works.com Fehler 404 – Ungültige Anforderung
www.northwindtraders.com Fehler 404 – Ungültige Anforderung

Pfadabgleich

Nachdem Azure Front Door den spezifischen Frontend-Host bestimmt und mögliche Routingregeln filtert, werden die Routingregeln basierend auf dem Anforderungspfad ausgewählt. Der Dienst verwendet die folgende Logik:

  1. Überprüfen Sie, ob es Routingregeln gibt, die genau mit dem Anforderungspfad übereinstimmen.
  2. Wenn keine exakte Übereinstimmung gefunden wird, suchen Sie nach einer Routing-Regel mit einem Platzhalterpfad, der passt.
  3. Wenn kein übereinstimmener Pfad gefunden wird, lehnen Sie die Anforderung mit einem Fehler von 404 ab: Ungültige Anforderung.

Hinweis

Das Platzhalterzeichen * ist nur für Pfade gültig, bei denen dahinter keine weiteren Zeichen stehen. Darüber hinaus muss dem Platzhalterzeichen * ein Schrägstrich (/) vorangestellt werden. Pfade ohne Platzhalter gelten als genau übereinstimmende Pfade. Ein Pfad, der mit einem Schrägstrich (/) endet, ist ebenfalls ein genauer Übereinstimmungspfad. Stellen Sie sicher, dass Ihre Pfade diese Regeln einhalten, um Fehler zu vermeiden.

Hinweis

  • Pfade ohne Platzhalter gelten als genau übereinstimmende Pfade. Ein Pfad, der mit einer / endet, stellt ebenfalls eine genaue Übereinstimmung dar.
  • Bei Pfadmustern wird die Groß-/Kleinschreibung nicht beachtet. Beispielsweise werden /FOO und /foo als Duplikate behandelt und sind in den Mustern zum Abgleichen nicht erlaubt.

In der folgenden Tabelle sind Routingregeln mit ihren Kombinationen aus Front-End-Host und Pfaden aufgeführt:

Routingregel Front-End-Host Pfad
Ein www.contoso.com /
B www.contoso.com /*
C www.contoso.com /ab
D www.contoso.com /ABC
E www.contoso.com /ABC/
F www.contoso.com /abc/*
G www.contoso.com /abc/def
H www.contoso.com /Pfad/

Die folgende Tabelle zeigt, welche Routingregel mit einer eingehenden Anforderung am Azure Front Door-Edge übereinstimmt:

Eingehende Anforderung Abgestimmte Route
www.contoso.com/ Ein
www.contoso.com/a B
www.contoso.com/ab C
www.contoso.com/abc D
www.contoso.com/abzzz B
www.contoso.com/abc/ E
www.contoso.com/abc/d F
www.contoso.com/abc/def G
www.contoso.com/abc/defzzz F
www.contoso.com/abc/def/ghi F
www.contoso.com/path B
www.contoso.com/path/ H
www.contoso.com/path/zzz B

Warnung

Wenn keine Routingregeln für einen exakt übereinstimmenden Front-End-Host ohne Routingpfad zur Abdeckung aller Fälle (/*) vorhanden sind, wird keine passende Routingregel ermittelt.

Beispielkonfiguration:

Route Gastgeber Pfad
Ein profile.contoso.com /API/*

Treffertabelle:

Eingehende Anforderung Abgestimmte Route
profile.domain.com/other Keine. Fehler 404 – Ungültige Anforderung

Routingentscheidung

Sobald Azure Front Door einer Routingregel entspricht, entscheidet sie, wie die Anforderung verarbeitet werden soll. Wenn eine zwischengespeicherte Antwort verfügbar ist, sendet sie diese Antwort an den Client zurück.

Wenn Sie einen Regelsatz für die übereinstimmenden Routingregel konfigurieren, verarbeitet Azure Front Door ihn in der Reihenfolge. Regelsätze können die Route außer Kraft setzen und so Datenverkehr zu einer bestimmten Ursprungsgruppe verweisen. Wenn Sie keinen Regelsatz definieren, leitet Azure Front Door die Anforderung ohne Änderungen an die Ursprungsgruppe weiter.

Wenn Azure Front Door (klassisch) keine zwischengespeicherte Antwort hat, sucht es nach einer URL-Neuschreibkonfiguration. Wenn Sie keinen benutzerdefinierten Weiterleitungspfad definieren, leitet Azure Front Door die Anforderung an das entsprechende Back-End im konfigurierten Back-End-Pool weiter. Wenn Sie einen benutzerdefinierten Weiterleitungspfad definieren, aktualisiert Azure Front Door den Anforderungspfad entsprechend und leitet ihn dann an das Back-End weiter.

Nächste Schritte