Regenerowanie adresów URL
Usługa Azure Front Door zapewnia obsługę ponownego zapisywania adresów URL, umożliwiając modyfikowanie ścieżki żądania kierowanej do źródła. Ta zaawansowana funkcja umożliwia zdefiniowanie warunków określających, kiedy adres URL lub określone nagłówki powinny zostać przepisane. Te warunki są oparte na informacjach znajdujących się w żądaniu i odpowiedzi.
Korzystając z ponownego zapisywania adresu URL, możesz przekierowywać użytkowników końcowych do różnych źródeł na podstawie czynników, takich jak typ urządzenia lub typ żądanego pliku. Akcja ponownego zapisywania adresu URL można łatwo skonfigurować w zestawie reguł, zapewniając szczegółową kontrolę nad zachowaniem routingu.
Wzorzec źródła
Wzorzec źródłowy reprezentuje ścieżkę adresu URL w początkowym żądaniu, które chcesz zamienić. Obecnie wzorzec źródłowy korzysta z podejścia do dopasowywania opartego na prefiksach. Aby dopasować wszystkie ścieżki adresu URL, możesz określić ukośnik (/
) jako wartość wzorca źródłowego.
W kontekście akcji ponownego zapisywania adresu URL uwzględniana jest tylko ścieżka po wzorcach, które mają być zgodne z konfiguracją trasy dla wzorca źródłowego. Na przykład zestaw reguł uwzględnia tylko /source-pattern
jako wzorzec źródłowy, który ma zostać przepisany, jeśli masz przychodzący format contoso.com/pattern-to-match/source-pattern
adresu URL . Po zastosowaniu ponownego zapisywania adresu URL format wychodzącego adresu URL będzie mieć wartość contoso.com/pattern-to-match/destination
.
W przypadkach, gdy musisz usunąć /pattern-to-match
segment adresu URL, możesz ustawić ścieżkę źródła dla grupy pochodzenia w konfiguracji trasy na /
.
Element docelowy
Ścieżka docelowa reprezentuje ścieżkę, która zastępuje wzorzec źródłowy. Jeśli na przykład ścieżka adresu URL żądania to contoso.com/foo/1.jpg
, a wzorzec źródłowy to /foo/
, określając miejsce docelowe jako /bar/
wyniki zawartości obsługiwanej z contoso.com/bar/1.jpg
źródła.
Zachowaj niezgodną ścieżkę
Zachowanie niedopasowanej ścieżki umożliwia kontrolowanie sposobu obsługi pozostałej ścieżki po obsłużeniu wzorca źródłowego. Ustawiając opcję Zachowaj niezgodną ścieżkę na Tak, pozostała ścieżka jest dołączana do nowej ścieżki. Z drugiej strony ustawienie wartości Nie (domyślne) spowoduje usunięcie pozostałej ścieżki po wzorcu źródłowym.
Oto przykład pokazujący zachowanie zachowania niezapasowanej ścieżki:
Zachowaj niezgodną ścieżkę | Wzorzec źródła | Element docelowy | Żądanie przychodzące | Zawartość obsługiwana ze źródła |
---|---|---|---|---|
Tak | / | /Foo/ | contoso.com/sub/1.jpg | /foo/sub/1.jpg |
Tak | /Sub/ | /Foo/ | contoso.com/sub/image/1.jpg | /foo/image/1.jpg |
Nie. | /Sub/ | /foo/2.jpg | contoso.com/sub/image/1.jpg | /foo/2.jpg |
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).
Usługa Azure Front Door (wersja klasyczna) zapewnia obsługę ponownego zapisywania adresów URL przez skonfigurowanie niestandardowej ścieżki przekazywania podczas konfigurowania reguły typu routingu do przodu. Domyślnie, jeśli zdefiniowano tylko ukośnik (/*
), usługa Front Door replikuje przychodzącą ścieżkę adresu URL w przesłanym dalej żądaniu. Nagłówek hosta używany w przesłanym dalej żądaniu jest oparty na konfiguracji wybranego zaplecza. Aby uzyskać bardziej szczegółowe informacje, zobacz dokumentację nagłówka hosta zaplecza.
Kluczowym aspektem ponownego zapisywania adresu URL jest możliwość skopiowania dowolnej pasującej części ścieżki przychodzącej do ścieżki przekazanej podczas korzystania z niestandardowej ścieżki przekazywania z dopasowaniem symboli wieloznacznych. W poniższej tabeli przedstawiono przykład żądania przychodzącego i odpowiadającą mu ścieżkę przekazywania podczas korzystania z niestandardowej ścieżki przesyłania dalej ./fwd/
Sekcja oznaczona jako a/b/c reprezentuje część, która zastępuje dopasowanie symboli wieloznacznych.
Ścieżka przychodzącego adresu URL | Dopasuj ścieżkę | Niestandardowa ścieżka przesyłania dalej | Ścieżka przekazywana dalej |
---|---|---|---|
/foo/a/b/c | /Foo/* | /Fwd/ | /fwd/a/b/c |
Przykład ponownego zapisywania adresów URL
Rozważ regułę routingu z następującą kombinacją hostów i ścieżek frontonu:
Hosts | Ścieżki |
---|---|
www.contoso.com | /* |
/Foo | |
/Foo/* | |
/foo/bar/* |
W poniższej tabeli przedstawiono przykłady żądań przychodzących i odpowiadających im najbardziej specyficznych tras pasujących. Zawiera również przykłady niestandardowych ścieżek przesyłania dalej i wynikowych ścieżek przekazywanych.
Rozważmy na przykład drugi wiersz tabeli. Jeśli żądanie przychodzące to www.contoso.com/sub
, a niestandardowa ścieżka przesyłania dalej jest ustawiona na /
, ścieżka przekazywana dalej będzie następująca /sub
: . Jeśli jednak niestandardowa ścieżka przesyłania dalej jest ustawiona na /fwd/
, ścieżka przekazywana dalej będzie następująca /fwd/sub
: . Podkreślone części ścieżek wskazują części, które są częścią dopasowania symboli wieloznacznych.
Żądanie przychodzące | Najbardziej specyficzna ścieżka dopasowania | / | /Fwd/ | /Foo/ | /foo/bar/ |
---|---|---|---|---|---|
www.contoso.com/ | /* | / | /Fwd/ | /Foo/ | /foo/bar/ |
www.contoso.com/ sub | /* | /Sub | /fwd/sub | /foo/sub | /foo/bar/sub |
www.contoso.com/ a/b/c | /* | /a/b/c | /fwd/a/b/c | /foo/a/b/c | /foo/bar/a/b/c |
www.contoso.com/foo | /Foo | / | /Fwd/ | /Foo/ | /foo/bar/ |
www.contoso.com/foo/ | /Foo/* | / | /Fwd/ | /Foo/ | /foo/bar/ |
pasek www.contoso.com/foo/ | /Foo/* | /bar | /fwd/bar | /foo/bar | /foo/bar/bar |
Uwaga
Usługa Azure Front Door (klasyczna) obsługuje tylko ponowne zapisywanie adresów URL ze ścieżki statycznej do innej ścieżki statycznej. Zachowanie niedopasowanej ścieżki jest obsługiwane w usługach Azure Front Door Standard i Premium. Aby uzyskać więcej informacji, zobacz Zachowywanie niedopasowanej ścieżki.
Ustawienia opcjonalne
Konfiguracja pamięci podręcznej — jeśli jest wyłączona lub nie została określona, żądania zgodne z tą regułą routingu nie próbują używać buforowanej zawartości i zamiast tego zawsze pobierają z zaplecza. Aby uzyskać więcej informacji, zobacz buforowanie za pomocą usługi Azure Front Door.
Następne kroki
- Dowiedz się, jak utworzyć profil usługi Azure Front Door.
- Dowiedz się więcej o zestawie reguł usługi Azure Front Door
- Dowiedz się więcej o architekturze routingu usługi Azure Front Door.