Azure Front Door Kural kümesi sunucu değişkenleri
Kural kümesi sunucu değişkenleri, Kural kümeleriyle çalışırken istekle ilgili yapılandırılmış bilgilere erişim sağlar.
Kural kümesi eşleştirme koşullarını kullandığınızda, sunucu değişkenleri belirli özelliklere sahip istekleri tanımlayabilmeniz için eşleşme koşulları olarak kullanılabilir.
Kural kümesi eylemlerini kullandığınızda, istek ve yanıt üst bilgilerini dinamik olarak değiştirmek ve URL'leri, yolları ve sorgu dizelerini yeniden yazmak için (örneğin, yeni bir sayfa yüklendiğinde veya form gönderildiğinde) sunucu değişkenlerini kullanabilirsiniz.
Not
Sunucu değişkenleri Azure Front Door Standard ve Premium katmanlarıyla kullanılabilir.
Desteklenen değişkenler
Değişken adı | Açıklama |
---|---|
socket_ip |
Azure Front Door edge'e doğrudan bağlantının IP adresi. İstemci isteği göndermek için bir HTTP ara sunucusu veya yük dengeleyici kullandıysa, değeri socket_ip ara sunucu veya yük dengeleyicinin IP adresidir.Eşleştirme koşulunda bu sunucu değişkenine erişmek için Yuva adresi'ni kullanın. |
client_ip |
Özgün isteği yapan istemcinin IP adresi. İstekte bir X-Forwarded-For üst bilgi varsa, istemci IP adresi üst bilgiden seçilir.Eşleştirme koşulunda bu sunucu değişkenine erişmek için Uzak adresi kullanın ve İşleciIP Eşleşmesi veya IP Eşleşmedi olarak yapılandırın. |
client_port |
İsteği yapan istemcinin IP bağlantı noktası. Eşleştirme koşulunda bu sunucu değişkenine erişmek için İstemci bağlantı noktasını kullanın. |
hostname |
İstemciden gelen istekteki ana bilgisayar adı. Eşleştirme koşulunda bu sunucu değişkenine erişmek için Ana bilgisayar adını kullanın. |
geo_country |
İstekte bulunanın ülke/bölge kaynağını ülke/bölge koduyla gösterir. Eşleştirme koşulunda bu sunucu değişkenine erişmek için Uzak adresi kullanın ve İşleciCoğrafi Eşleşme veya Coğrafi Eşleşme olarak yapılandırın. |
http_method |
VEYA POST gibi GET URL isteğinde bulunmak için kullanılan yöntem.Bu sunucu değişkenine bir eşleşme koşulunda erişmek için request yöntemini kullanın. |
http_version |
İstek protokolü. Genellikle HTTP/1.0 , HTTP/1.1 veya HTTP/2.0 .Eşleştirme koşulunda bu sunucu değişkenine erişmek için HTTP sürümünü kullanın. |
query_string |
İstenen URL'de öğesini ? izleyen değişken/değer çiftlerinin listesi.Örneğin, isteğinde http://contoso.com:8080/article.aspx?id=123&title=fabrikam query_string değeri şeklindedirid=123&title=fabrikam .Eşleştirme koşulunda bu sunucu değişkenine erişmek için Sorgu dizesini kullanın. |
request_scheme |
İstek düzeni: http veya https .Bu sunucu değişkenine bir eşleşme koşulunda erişmek için İstek protokolü'ni kullanın. |
request_uri |
Tam özgün istek URI'si (bağımsız değişkenlerle). Örneğin, isteğinde http://contoso.com:8080/article.aspx?id=123&title=fabrikam request_uri değeri şeklindedirhttp://contoso.com:8080/article.aspx?id=123&title=fabrikam .Eşleştirme koşulunda bu sunucu değişkenine erişmek için İstek URL'sini kullanın. |
ssl_protocol |
Yerleşik bir TLS bağlantısının protokolü. Bu sunucu değişkenine bir eşleşme koşulunda erişmek için SSL protokolü kullanın. |
server_port |
İsteği kabul eden sunucunun bağlantı noktası. Eşleştirme koşulunda bu sunucu değişkenine erişmek için Sunucu bağlantı noktasını kullanın. |
url_path |
Web istemcisinin erişmek istediği konaktaki belirli kaynağı tanımlar. Bu, bağımsız değişkenler veya baştaki eğik çizgi olmadan istek URI'sinin bir parçasıdır. Örneğin, isteğinde http://contoso.com:8080/article.aspx?id=123&title=fabrikam url_path değeri şeklindedirarticle.aspx . Azure Front Door, sunucu değişkeniyle {url_path:seg#} URL yolunun dinamik olarak yakalanmasını destekler ve VEYA ile {url_path.tolower} {url_path.toupper} URL yolunu küçük veya büyük harfe dönüştürür. Daha fazla bilgi için bkz . Sunucu değişkeni biçimi ve Sunucu değişkenleri. Bu sunucu değişkenine bir eşleşme koşulunda erişmek için İstek yolu koşulu'nu kullanın. |
Sunucu değişkeni biçimi
Kural Kümesi eylemleriyle çalışırken, aşağıdaki biçimleri kullanarak sunucu değişkenlerini belirtin:
{variable}
: Sunucu değişkeninin tamamını ekleyin. Örneğin, istemci IP adresi ise111.222.333.444
{client_ip}
belirteç olarak değerlendirilir111.222.333.444
.{variable:offset}
: Belirli bir uzaklık sonrasında, değişkenin sonuna kadar sunucu değişkenini ekleyin. Uzaklık sıfır tabanlıdır. Örneğin, istemci IP adresi ise111.222.333.444
{client_ip:3}
belirteç olarak değerlendirilir.222.333.444
.{variable:offset:length}
: Belirtilen uzunluğa kadar belirli bir uzaklık sonrasında sunucu değişkenini ekleyin. Uzaklık sıfır tabanlıdır. Örneğin, değişken değişkeni 'AppId=01f592979c584d0f9d679db3e66a3e5e' olduğunda,- Aralık içindeki uzaklıklar, uzunluk yok:
{var:0}
=AppId=01f592979c584d0f9d679db3e66a3e5e
,{var:6}
=01f592979c584d0f9d679db3e66a3e5e
,{var:-8}
=e66a3e5e
- Uzaklık aralığın dışındadır, uzunluk yok:
{var:-128}
=AppId=01f592979c584d0f9d679db3e66a3e5e
,{var:128}
= null - Aralık içindeki uzaklıklar ve uzunluklar:
{var:0:5}
=AppId
, ,{var:7:7}
=1f59297
{var:7:-7}
=1f592979c584d0f9d679db3e
- Sıfır uzunluk:
{var:0:0}
= null,{var:4:0}
= null - Aralık içindeki uzaklıklar ve aralık dışında uzunluklar:
{var:0:100}
AppId=01f592979c584d0f9d679db3e66a3e5e
= ,{var:5:100}
==01f592979c584d0f9d679db3e66a3e5e
,{var:0:-48}
= null,{var:4:-48}
= null
- Aralık içindeki uzaklıklar, uzunluk yok:
{url_path:seg#}
: Kullanıcıların URL Yeniden Yönlendirme, URL Yeniden Yazma veya anlamlı bir eylemde istenen URL yolu kesimini yakalamasına ve kullanmasına izin verin. Kullanıcı, alt dize yakalama ile aynı stili kullanarak birden çok segmenti de yakalayabilir{url_path:seg1:3}
. Örneğin, kaynak deseni/id/12345/default
ve URL yeniden yazma Hedefi/{url_path:seg1}/home
için, yeniden yazmadan sonra beklenen URL yolu şeklindedir/12345/home
. Birden çok segmentli yakalama için, kaynak desen olduğunda/id/12345/default/location/test
URL yeniden yazma hedefi/{url_path:seg1:3}/home
ile sonuçlanır/12345/default/location/home
. Segment yakalama konum yolunu içerir, bu nedenle yol ise/match/*
, segment 0 eşleşecektir.Uzaklık, başlangıç segmentinin dizinine karşılık gelir ve uzunluk, dizin = uzaklık da dahil olmak üzere kaç segmentin yakalanacaklarını ifade eder.
Uzaklık ve uzunluğun pozitif olduğunu varsayarsak, aşağıdaki mantık geçerlidir:
- Uzunluk dahil değilse, segmenti dizin = uzaklıkta yakalayın.
- Uzunluk dahil edildiğinde, dizinden segmentleri yakalayın = yukarı uzaklığı dizine kadar = uzaklık + uzunluk.
Aşağıdaki özel durumlar da işlenir:
- Uzaklık negatifse, başlangıç segmentini almak için yolun sonundan geriye doğru sayın.
- Uzaklık, segment sayısından büyük veya buna eşit negatif bir değerse 0 olarak ayarlayın.
- Uzaklık segment sayısından büyükse sonuç boş olur.
- Uzunluk 0 ise, uzaklık tarafından belirtilen tek segmenti döndürür
- Uzunluk negatifse, ikinci bir uzaklık olarak değerlendirin ve yolun sonundan geriye doğru hesaplama yapın. Değer uzaklık değerinden küçükse boş bir dizeyle sonuçlanır.
- Uzunluk, segment sayısından büyükse, yolda kalanları döndürür.
{url_path.tolower}
/{url_path.toupper}
: URL yolunu küçük veya büyük harfe dönüştürün. Örneğin, URL'deki bir hedef{url_path.tolower}
içinde sonuçları/lowercase/abcdxyz/example
için/lowercase/ABcDXyZ/EXAMPLE
yeniden yazma/yeniden yönlendirme. URL'deki bir hedef{url_path.toupper}
, içindeki/ABCDXYZ/EXAMPLE
sonuçlar için/ABcDXyZ/example
yeniden yazma/yeniden yönlendirme.
Desteklenen kural kümesi eylemleri
Sunucu değişkenleri aşağıdaki Kural kümesi eylemlerinde desteklenir:
- Yönlendirme yapılandırması geçersiz kılmada sorgu dizesi önbelleğe alma davranışı
- İstek üst bilgisini değiştirme
- Yanıt üst bilgisini değiştirme
- URL yeniden yönlendirme
- URL yeniden yazma