Udostępnij za pośrednictwem


Zmienne serwera zestawu reguł usługi Azure Front Door

Zmienne serwera zestawu reguł zapewniają dostęp do informacji strukturalnych dotyczących żądania podczas pracy z zestawami reguł.

W przypadku używania warunków dopasowania zestawu reguł zmienne serwera są dostępne jako warunki dopasowania, dzięki czemu można identyfikować żądania z określonymi właściwościami.

W przypadku używania akcji zestawu reguł można użyć zmiennych serwera do dynamicznej zmiany nagłówków żądania i odpowiedzi oraz ponownego zapisywania adresów URL, ścieżek i ciągów zapytania, na przykład podczas ładowania nowej strony lub po wysłaniu formularza.

Uwaga

Zmienne serwera są dostępne w warstwach Azure Front Door Standard i Premium.

Obsługiwane zmienne

Nazwa zmiennej opis
socket_ip Adres IP bezpośredniego połączenia z usługą Azure Front Door Edge. Jeśli klient użył serwera proxy HTTP lub modułu równoważenia obciążenia do wysłania żądania, wartość socket_ip to adres IP serwera proxy lub modułu równoważenia obciążenia.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj adresu gniazda.
client_ip Adres IP klienta, który złożył oryginalne żądanie. Jeśli w żądaniu znajdował się X-Forwarded-For nagłówek, adres IP klienta jest wybierany z nagłówka.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj adresu zdalnego i skonfiguruj operator do dopasowania adresu IP lub niezgodnego adresu IP.
client_port Port IP klienta, który złożył żądanie.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj portu klienta.
hostname Nazwa hosta w żądaniu od klienta.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj nazwy hosta.
geo_country Wskazuje kraj/region obiektu żądającego za pośrednictwem kodu kraju/regionu.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj adresu zdalnego i skonfiguruj operator do dopasowania geograficznego lub niezgodnego geograficznego.
http_method Metoda używana do tworzenia żądania adresu URL, takiego jak GET lub POST.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj metody Request.
http_version Protokół żądania. Zazwyczaj HTTP/1.0, HTTP/1.1lub HTTP/2.0.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj wersji PROTOKOŁU HTTP.
query_string Lista par zmiennych/wartości, które są zgodne z ? adresem w żądanym adresie URL.
Na przykład w żądaniu http://contoso.com:8080/article.aspx?id=123&title=fabrikamquery_string wartość to id=123&title=fabrikam.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj ciągu zapytania.
request_scheme Schemat żądania: http lub https.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj protokołu Request.
request_uri Pełny oryginalny identyfikator URI żądania (z argumentami).
Na przykład w żądaniu http://contoso.com:8080/article.aspx?id=123&title=fabrikamrequest_uri wartość to http://contoso.com:8080/article.aspx?id=123&title=fabrikam.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj adresu URL żądania.
ssl_protocol Protokół ustanowionego połączenia TLS.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj protokołu SSL.
server_port Port serwera, który zaakceptował żądanie.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj portu serwera.
url_path Identyfikuje określony zasób na hoście, do którego klient internetowy chce uzyskać dostęp. Jest to część identyfikatora URI żądania bez argumentów lub wiodącego ukośnika.
Na przykład w żądaniu http://contoso.com:8080/article.aspx?id=123&title=fabrikamurl_path wartość to article.aspx.
Usługa Azure Front Door obsługuje dynamiczne przechwytywanie ścieżki adresu URL ze zmienną {url_path:seg#} serwera i konwertuje ścieżkę adresu URL na małe litery lub wielkie litery za pomocą {url_path.tolower} polecenia lub {url_path.toupper}. Aby uzyskać więcej informacji, zobacz Format zmiennej serwera i Zmienne serwera.
Aby uzyskać dostęp do tej zmiennej serwera w warunku dopasowania, użyj warunku ścieżki żądania.

Format zmiennej serwera

Podczas pracy z akcjami zestawu reguł określ zmienne serwera przy użyciu następujących formatów:

  • {variable}: uwzględnij całą zmienną serwera. Jeśli na przykład adres IP klienta to 111.222.333.444 token zostanie obliczony {client_ip} na 111.222.333.444wartość .

  • {variable:offset}: uwzględnij zmienną serwera po określonym przesunięcie do końca zmiennej. Przesunięcie jest oparte na zera. Jeśli na przykład adres IP klienta to 111.222.333.444 token zostanie obliczony {client_ip:3} na .222.333.444wartość .

  • {variable:offset:length}: uwzględnij zmienną serwera po określonym przesunięeniu do określonej długości. Przesunięcie jest oparte na zera. Na przykład, gdy zmienna var ma wartość "AppId=01f592979c584d0f9d679db3e6a3e5e",

    • Przesunięcia w zakresie, bez długości: {var:0} = AppId=01f592979c584d0f9d679db3e66a3e5e, , {var:6} = 01f592979c584d0f9d679db3e66a3e5e{var:-8} = e66a3e5e
    • Przesunięcie poza zakres, bez długości: {var:-128} = AppId=01f592979c584d0f9d679db3e66a3e5e, {var:128} = null
    • Przesunięcia i długości w zakresie: {var:0:5} = AppId, , {var:7:7} = 1f59297{var:7:-7} = 1f592979c584d0f9d679db3e
    • Długość zerowa: {var:0:0} = null, {var:4:0} = null
    • Przesunięcia w zakresie i długościach poza zakresem: {var:0:100} = AppId=01f592979c584d0f9d679db3e66a3e5e, , {var:5:100}{var:0:-48} = =01f592979c584d0f9d679db3e66a3e5e= null, {var:4:-48} = null
  • {url_path:seg#}: Zezwalaj użytkownikom na przechwytywanie i używanie żądanego segmentu ścieżki adresu URL w obszarze Przekierowanie adresu URL, Ponowne zapisywanie adresów URL lub dowolną znaczącą akcję. Użytkownik może również przechwytywać wiele segmentów przy użyciu tego samego stylu co przechwytywanie {url_path:seg1:3}podciągów. Na przykład w przypadku wzorca /id/12345/default źródłowego i ponownego zapisywania adresu URL miejsca docelowego /{url_path:seg1}/homeoczekiwana ścieżka adresu URL po ponownym zapisaniu to /12345/home. W przypadku przechwytywania wielu segmentów, gdy wzorzec źródłowy to /id/12345/default/location/test, adres URL ponownie zapisuje miejsce docelowe /{url_path:seg1:3}/home w pliku /12345/default/location/home. Przechwytywanie segmentu obejmuje ścieżkę lokalizacji, więc jeśli trasa to /match/*, segment 0 będzie zgodny.

    Przesunięcie odpowiada indeksowi segmentu początkowego, a długość odnosi się do liczby segmentów do przechwycenia, w tym do indeksu = przesunięcia.

    Przy założeniu, że przesunięcie i długość są dodatnie, stosowana jest następująca logika:

    • Jeśli długość nie jest uwzględniona, przechwyć segment na indeksie = przesunięcie.
    • Gdy długość jest uwzględniona, przechwytuje segmenty z indeksu = przesunięcie do indeksu = przesunięcie + długość.

    Obsługiwane są również następujące specjalne przypadki:

    • Jeśli przesunięcie jest ujemne, policz wstecz od końca ścieżki, aby uzyskać segment początkowy.
    • Jeśli przesunięcie jest wartością ujemną większą lub równą liczbie segmentów, ustaw wartość 0.
    • Jeśli przesunięcie jest większe niż liczba segmentów, wynik jest pusty.
    • Jeśli długość wynosi 0, zwracanie pojedynczego segmentu określonego przez przesunięcie
    • Jeśli długość jest ujemna, należy traktować ją jako drugie przesunięcie i obliczać wstecz od końca ścieżki. Jeśli wartość jest mniejsza niż przesunięcie, powoduje to pusty ciąg.
    • Jeśli długość jest większa niż liczba segmentów, zwróć to, co pozostaje w ścieżce.
  • {url_path.tolower}/{url_path.toupper}: przekonwertuj ścieżkę adresu URL na małe lub wielkie litery. Na przykład miejsce docelowe {url_path.tolower} w adresie URL ponownego zapisywania/przekierowywania w celu /lowercase/ABcDXyZ/EXAMPLE uzyskania wyników w pliku /lowercase/abcdxyz/example. Miejsce docelowe {url_path.toupper} w adresie URL ponownego zapisywania/przekierowywania w celu /ABcDXyZ/example uzyskania wyników w pliku /ABCDXYZ/EXAMPLE.

Obsługiwane akcje zestawu reguł

Zmienne serwera są obsługiwane w następujących akcjach zestawu reguł:

Następne kroki

  • Dowiedz się więcej o zestawie reguł usługi Azure Front Door.
  • Dowiedz się więcej o warunkach dopasowania zestawu reguł.
  • Dowiedz się więcej o akcjach zestawu reguł.