Udostępnij przez


Jak żądania są dopasowywane do konfiguracji trasy

Trasa w usłudze Azure Front Door definiuje, jak ruch jest obsługiwany, gdy żądanie przychodzące dociera do punktu końcowego usługi Azure Front Door. Ustawienia trasy ustanawiają skojarzenie między domeną a grupą pochodzenia. Korzystając z zaawansowanych funkcji, takich jak Wzór dopasowywania i Zestawy reguł, możesz mieć szczegółową kontrolę nad ruchem do zasobów backendowych.

Uwaga

W przypadku używania zestawów reguł Front Door można skonfigurować regułę, aby zastąpić grupę źródłową dla żądania. Grupa pochodzenia ustawiona przez zestaw reguł zastępuje proces routingu opisany w tym artykule.

Ważne

Usługa Azure Front Door (klasyczna) zostanie wycofana 31 marca 2027 r. Aby uniknąć zakłóceń w działaniu usługi, należy przeprowadzić migrację profilów usługi Azure Front Door (wersja klasyczna) do warstwy Azure Front Door Standard lub Premium do marca 2027 r. Aby uzyskać więcej informacji, zobacz Wycofywanie usługi Azure Front Door (wersja klasyczna).

Gdy żądanie dociera do brzegu usługi Azure Front Door (klasycznej), jednym z pierwszych kroków jest określenie sposobu kierowania pasującego żądania do zasobu zaplecza, a następnie podjęcia zdefiniowanej akcji w konfiguracji routingu. W tym dokumencie wyjaśniono, w jaki sposób usługa Front Door określa konfigurację trasy do użycia podczas przetwarzania żądania.

Struktura konfiguracji trasy usługi Front Door

Reguła routingu usługi Front Door składa się z dwóch głównych części: "lewej strony" i "prawej strony". Usługa Front Door dopasuje przychodzące żądanie do lewej strony trasy, a po prawej stronie definiuje sposób przetwarzania żądania.

Nadchodzący mecz (po lewej stronie)

Następujące właściwości określają, czy żądanie przychodzące jest zgodne z regułą routingu (po lewej stronie):

  • Protokoły HTTP — HTTP lub HTTPS
  • Domena — na przykład: www.foo.com, *.bar.com
  • Ścieżki — na przykład: /*, /users/*, /file.gif

Te właściwości są rozszerzane wewnętrznie, dzięki czemu każda kombinacja protokołu/domeny/ścieżki jest potencjalnym zestawem zgodności.

Decyzja dotycząca routingu (strona prawa)

Decyzja o sposobie przetwarzania żądania zależy od tego, czy buforowanie jest włączone dla trasy. Jeśli buforowana odpowiedź nie jest dostępna, żądanie jest przekazywane do odpowiedniego źródła.

Dopasowywanie tras

W tej sekcji wyjaśniono, jak usługa Front Door dopasuje żądania do reguł routingu. Podstawową zasadą jest to, że usługa Front Door zawsze odpowiada najbardziej specyficznemu żądaniu , oceniając właściwości "po lewej stronie": protokół, domena i ścieżka w tej kolejności.

Dopasowywanie hosta frontendowego

Usługa Azure Front Door używa następujących etapów, aby dopasować hosty frontendowe.

  1. Sprawdź trasy z dokładnym dopasowaniem na froncie hosta.
  2. Jeśli nie znaleziono dokładnego dopasowania, żądanie zostanie odrzucone z błędem 404: Nieprawidłowe żądanie.

W poniższych tabelach przedstawiono trzy różne reguły routingu z ich hostami frontendowymi i ścieżkami:

Reguła routingu Hosty frontonu Ścieżka
A foo.contoso.com /*
B foo.contoso.com /Użytkowników/*
C www.fabrikam.com, foo.adventure-works.com /*, /obrazki/*

W poniższej tabeli przedstawiono pasujące wyniki reguł routingu w poprzedniej tabeli:

Przychodzący host frontendowy Dopasowane reguły routingu
foo.contoso.com A, B
www.fabrikam.com C
images.fabrikam.com Błąd 404: Nieprawidłowe żądanie
foo.adventure-works.com C
contoso.com Błąd 404: Nieprawidłowe żądanie
www.adventure-works.com Błąd 404: Nieprawidłowe żądanie
www.northwindtraders.com Błąd 404: Nieprawidłowe żądanie

Dopasowywanie ścieżki

Gdy Azure Front Door określi konkretnego hosta frontowego i przefiltruje możliwe reguły routingu, wybiera reguły routingu na podstawie ścieżki żądania. Używana jest następująca logika:

  1. Sprawdź reguły routingu z dokładnym dopasowaniem do ścieżki żądania.
  2. Jeśli nie znaleziono dokładnego dopasowania, poszukaj reguły routingu ze ścieżką wieloznaczną, która pasuje.
  3. Jeśli nie znaleziono pasującej ścieżki, żądanie zostanie odrzucone z błędem 404: Nieprawidłowe żądanie.

Uwaga

Symbol wieloznaczny * jest prawidłowy tylko dla ścieżek, które nie mają żadnych znaków po nim. Ponadto znak * wieloznaczny musi być poprzedzony ukośnikiem /. Ścieżki bez symbolu wieloznakowego są traktowane jako ścieżki z dokładnym dopasowaniem. Ścieżka, która kończy się ukośnikiem / , jest również ścieżką dokładnego dopasowania. Upewnij się, że ścieżki są zgodne z tymi regułami, aby uniknąć błędów.

Uwaga

  • Ścieżki bez symbolu wieloznakowego są traktowane jako ścieżki z dokładnym dopasowaniem. Ścieżka kończąca się na / jest również dokładnym dopasowaniem.
  • Wzorce ścieżek są niewrażliwe na wielkość liter. Na przykład /FOO i /foo są traktowane jako duplikaty i nie są dozwolone w ustawieniu Wzorców do dopasowania.

W poniższej tabeli wymieniono reguły routingu z ich kombinacjami hostów frontendowych i ścieżek:

Reguła routingu Host frontonu Ścieżka
A www.contoso.com /
B www.contoso.com /*
C www.contoso.com /Ab
D www.contoso.com /abecadło
E www.contoso.com /abecadło/
F www.contoso.com /abecadło/*
G www.contoso.com /abc/def
H www.contoso.com /ścieżka/

W poniższej tabeli przedstawiono, która reguła routingu pasuje do żądania przychodzącego na brzegu usługi Azure Front Door:

Żądanie przychodzące Dopasowana trasa
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

Ostrzeżenie

Jeśli nie ma reguł routingu dla hosta przedniego dokładnego dopasowania bez ścieżki trasy typu catch-all (/*), żadna reguła routingu nie zostanie dopasowana.

Przykładowa konfiguracja:

Marszruta Gospodarz Ścieżka
A profile.contoso.com /Api/*

Pasująca tabela:

Żądanie przychodzące Dopasowana trasa
profile.domain.com/other Brak. Błąd 404: Nieprawidłowe żądanie

Decyzja dotycząca routingu

Gdy usługa Azure Front Door dopasuje regułę routingu, decyduje o sposobie przetwarzania żądania. Jeśli jest dostępna buforowana odpowiedź, zostanie ona obsłużona z powrotem do klienta.

Jeśli zestaw reguł jest skonfigurowany dla dopasowanej reguły routingu, jest przetwarzany w kolejności. Zestawy reguł mogą przesłonić trasę , kierując ruch do określonej grupy pochodzenia. Jeśli nie zdefiniowano żadnego zestawu reguł, żądanie jest przekazywane do grupy pochodzenia bez zmian.

Jeśli usługa Azure Front Door (klasyczna) nie ma buforowanej odpowiedzi, sprawdza konfigurację ponownego zapisywania adresów URL. Jeśli nie zdefiniowano niestandardowej ścieżki przesyłania dalej, żądanie jest przekazywane do odpowiedniego zaplecza programistycznego w skonfigurowanej puli zaplecza. Jeśli zdefiniowano niestandardową ścieżkę przesyłania dalej, ścieżka żądania zostanie odpowiednio zaktualizowana, a następnie przekazana do zaplecza.

Następne kroki