Aracılığıyla paylaş


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 İşleci IP 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 İşleci Coğrafi Eşleşme veya Coğrafi Eşleşme olarak yapılandırın.
http_method VEYA POSTgibi 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.1veya 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=fabrikamquery_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=fabrikamrequest_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=fabrikamurl_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 ise 111.222.333.444 {client_ip} belirteç olarak değerlendirilir 111.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 ise 111.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
  • {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}/homeiçin, yeniden yazmadan sonra beklenen URL yolu şeklindedir /12345/home. Birden çok segmentli yakalama için, kaynak desen olduğunda /id/12345/default/location/testURL 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/exampleiçin /lowercase/ABcDXyZ/EXAMPLE yeniden yazma/yeniden yönlendirme. URL'deki bir hedef{url_path.toupper}, içindeki /ABCDXYZ/EXAMPLEsonuç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:

Sonraki adımlar

  • Azure Front Door Kural kümesi hakkında daha fazla bilgi edinin.
  • Kural kümesi eşleştirme koşulları hakkında daha fazla bilgi edinin.
  • Kural kümesi eylemleri hakkında daha fazla bilgi edinin.