Freigeben über


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 (klassisch) wird am 31. März 2027 eingestellt. Um Dienstunterbrechungen zu vermeiden, ist es wichtig, dass Sie Ihre (klassischen) Azure Front Door-Profile bis März 2027 zur Azure Front Door Standard- oder Premium-Stufe migrieren. 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 mit Front-End-Hosts

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

  1. Suchen Sie nach Routen mit einer genauen Übereinstimmung auf dem Front-End-Host.
  2. Wenn keine genaue Übereinstimmung gefunden wird, wird die Anforderung mit dem Fehler „404: Ungültige Anforderung“ abgelehnt.

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

Routingregel Front-End-Hosts `Path`
Ein foo.contoso.com /*
B foo.contoso.com /users/*
C www.fabrikam.com, foo.adventure-works.com /*, /images/*

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

Front-End-Host für eingehende Anforderungen Abgeglichene 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 Front-End-Host ermittelt und mögliche Routingregeln gefiltert hat, werden die Routingregeln basierend auf dem Anforderungspfad ausgewählt. Die folgende Logik wird verwendet:

  1. Überprüfen Sie, ob Routingregeln mit einer genauen Übereinstimmung mit dem Anforderungspfad übereinstimmen.
  2. Wenn keine genaue Übereinstimmung gefunden wird, suchen Sie nach einer Routingregel mit einem übereinstimmenden Wildcardpfad.
  3. Wenn kein übereinstimmender Pfad gefunden wird, wird die Anforderung mit dem Fehler „404: Ungültige Anforderung“ abgelehnt.

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 exakte Treffer für den Pfad. Ein Pfad, der auf einen Schrägstrich (/) endet, ist ebenfalls ein exakter Pfad. Stellen Sie sicher, dass Ihre Pfade diese Regeln einhalten, um Fehler zu vermeiden.

Hinweis

  • Pfade ohne Platzhalter gelten als exakte Treffer für den Pfad. Ein Pfad, der mit einer / endet, ist auch eine genaue Übereinstimmung.
  • Bei Pfadmustern wird die Groß-/Kleinschreibung nicht beachtet. Beispielsweise werden /FOO und /foo als Duplikate behandelt und sind in der Einstellung „Muster“ nicht zulässig.

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

Routingregel Front-End-Host `Path`
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 /path/

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

Eingehende Anforderung Übereinstimmende Route
www.contoso.com/ A
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 Host `Path`
Ein profile.contoso.com /api/*

Treffertabelle:

Eingehende Anforderung Übereinstimmende 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, wird sie an den Client zurückgesendet.

Wenn ein Regelsatz für die übereinstimmende Routingregel konfiguriert ist, wird sie in der Reihenfolge verarbeitet. Regelsätze können die Route außer Kraft setzen und so Datenverkehr zu einer bestimmten Ursprungsgruppe verweisen. Wenn kein Regelsatz definiert ist, wird die Anforderung ohne Änderungen an die Ursprungsgruppe weitergeleitet.

Wenn Azure Front Door (klassisch) keine zwischengespeicherte Antwort hat, sucht es nach einer URL-Neuschreibkonfiguration. Wenn kein benutzerdefinierter Weiterleitungspfad definiert wurde, wird die Anforderung an das entsprechende Back-End im konfigurierten Back-End-Pool weitergeleitet. Wenn ein benutzerdefinierter Weiterleitungspfad definiert ist, wird der Anforderungspfad entsprechend aktualisiert und dann an das Back-End weitergeleitet.

Nächste Schritte