Jak żądania są dopasowywane do konfiguracji trasy
Trasa w usłudze Azure Front Door definiuje sposób obsługi ruchu po nadejściu żądania przychodzącego na brzeg usługi Azure Front Door. Ustawienia trasy ustanawiają skojarzenie między domeną a grupą pochodzenia. Korzystając z zaawansowanych funkcji, takich jak Wzorzec do dopasowywania i zestawów reguł, możesz mieć szczegółową kontrolę nad ruchem do zasobów zaplecza.
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.
Dopasowanie przychodzące (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 dopasowania.
Decyzja o routingu (po prawej stronie)
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 frontonu
Usługa Azure Front Door używa następujących kroków, aby dopasować hosty frontonu:
- Sprawdź trasy z dokładnym dopasowaniem na hoście frontonu.
- 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 i ścieżkami frontonu:
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 | /*/Obrazów/* |
W poniższej tabeli przedstawiono pasujące wyniki reguł routingu w poprzedniej tabeli:
Przychodzący host frontonu | 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
Po określeniu określonego hosta frontonu i filtrowaniu możliwych reguł routingu usługa Azure Front Door wybiera reguły routingu na podstawie ścieżki żądania. Używana jest następująca logika:
- Sprawdź reguły routingu z dokładnym dopasowaniem do ścieżki żądania.
- Jeśli nie znaleziono dokładnego dopasowania, poszukaj reguły routingu ze zgodną ścieżką wieloznaczny.
- 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ą po nim żadnych innych znaków. Ponadto symbol *
wieloznaczny musi być poprzedzony ukośnikiem /
. Ścieżki bez symbolu wieloznakowego są traktowane jako ścieżki dokładnego dopasowania. Ś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 dokładnego dopasowania. Ścieżka kończąca się elementem
/
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 Wzorce do dopasowania.
W poniższej tabeli wymieniono reguły routingu z kombinacjami hostów i ścieżek frontonu:
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 frontonu 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 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
- Tworzenie usługi Azure Front Door.
- Dowiedz się więcej o architekturze routingu usługi Azure Front Door.
- Tworzenie usługi Azure Front Door (wersja klasyczna).
- Dowiedz się więcej o architekturze routingu usługi Azure Front Door.