Skip to content
Smarter by Design.Simpler for Business

URL ​

URL Koşulu Nedir? ​

URL koşulu, HTTP isteğinin tam URL'sini (şema ve host dahil) değerlendirerek trafik yönlendirme ve manipülasyon kararları almak için kullanılan bir koşul tipidir.

URL, isteğin hedef adresinin tamamını kapsar.

http://www.tr7.com/api/users?id=123&q=7777
URL (tam): protokol + host + path + query

Bu koşul, protokol (http/https) ve host bilgisi dahil tam URL eşleştirmesi gerektiğinde kullanılır.

URL Yapısı ​

Full URL YapısıFull URL Yapısı

BileşenAçıklama
SchemeKullanılan protokolü ifade eder (http/https).
Domain Nameİsteğin gönderildiği sunucu adresini belirtir.
PortSunucunun servis portu; URL değerinde yalnızca istemci Host başlığında portu açıkça gönderdiyse yer alır (varsayılan 80/443'te bulunmaz).
Path to the FileSunucu üzerindeki erişilecek kaynak yolunu belirtir.
Parameters (Query)İstekle birlikte gönderilen sorgu (query string) parametrelerini içerir.
AnchorSayfa içi konumu ifade eder, sunucuya gönderilmez.

TIP

URL koşulu, HTTP isteğinde sunucuya iletilen URL bileşenlerini (scheme, domain adı (Host başlığından harfiyen), path ve query string) değerlendirir. Değerlendirilen tam biçim http(s)://host[:port]/path?query şeklindedir; şema, bağlantının TR7'de SSL ile sonlanıp sonlanmadığına göre belirlenir. Fragment (Anchor) bilgisi istemci tarafında işlendiğinden URL koşuluna dahil değildir.

Fragment (Anchor) (#...) tarayıcının sayfa içi gezinmesi için vardır ve:

  • HTTP request line içinde yer almaz.
  • TR7 (Load Balancer & WAF) tarafından görülemez.
  • Log'lara düşmez.
  • Koşul olarak kullanılamaz.

URL Koşulunun Önemi ​

Bazı senaryolarda sadece path değil, tam URL bilgisi gereklidir. Özellikle multi-tenant ortamlarda veya farklı protokoller için farklı davranışlar uygulanması gerektiğinde URL koşulu kullanılır.

URL koşulu sayesinde;

  • Tam URL bazlı eşleştirme yapılabilir,
  • Protokol (HTTP/HTTPS) dahil kontrol sağlanabilir,
  • Host ve path kombinasyonları hedeflenebilir,
  • Multi-domain ortamlarda spesifik URL'ler için kurallar tanımlanabilir.

URL vs Path + Query vs Path:

KriterKapsamÖrnek
URLProtokol, host, path, queryhttp://www.tr7.com/api/users?id=123
PathYalnızca path/api/users
Path + QueryPath ve query string/api/users?id=123

Kullanılabildiği vService Tipleri ​

HTTP
L7 TCP
Network

Nasıl Eklenir? ​

Yeni bir URL Koşulu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:

  1. Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
  2. Load Balancer → Conditions → Add adımları takip edilir.
  3. Criteria olarak URL seçilir.
  4. Koşula ait ilgili konfigürasyonlar yapılandırılır.
  5. Add butonuna tıklanarak koşul eklenir.

URL Koşulu Ekleme Formu ​

URL Koşulu Ekleme FormuURL Koşulu Ekleme Formu

INFO

Condition Name ​

Oluşturulacak koşul için isteğe bağlı bir isim girilebilir.

Bu alan, özellikle aşağıdaki senaryolarda önemlidir:

  • Aynı vService altında çok sayıda koşul tanımlandığında,
  • Benzer kriterlere sahip koşulların ayırt edilmesi gerektiğinde,
  • Koşulun hangi iş kuralını temsil ettiğinin hızlıca anlaşılması istendiğinde.

Bu alan boş bırakıldığında, TR7 ilgili koşulun içeriğini analiz ederek Condition Description alanında otomatik ve açıklayıcı bir isim oluşturur. Oluşturulan bu açıklama, koşul listelerinde isim olarak kullanılır.

INFO

Criteria Zorunlu ​

Koşulun tipini belirleyen alandır; aranabilir açılır listeden URL seçilir. Bu seçim, formda görüntülenecek alanları belirler. Kriter, koşul kaydedildikten sonra değiştirilemez: farklı bir kritere ihtiyaç duyulursa yeni bir koşul tanımlanır. Listedeki tüm kriterler ve kapsamları için Conditions sayfasındaki kriter kataloğuna bakılabilir.

INFO

Content Matching Method Varsayılan: Exact match ​

İçeriğin nasıl eşleştirileceğini belirler. Alan, formda etiketsiz bir açılır liste olarak Criteria'nın hemen altında görünür ve Exact match seçili açılır. Bu kriterde Is present seçeneği sunulmaz.

SeçenekKodAçıklama
Exact matchexactMatchDeğer birebir eşleşmelidir.
StartstartDeğer belirtilen metinle başlamalıdır.
EndendDeğer belirtilen metinle bitmelidir.
IncludessubDeğer belirtilen metni içermelidir.
RegexregexDeğer düzenli ifadeyle eşleşmelidir.

Örnek URL eşleştirmeleri:

YöntemQueryEşleşen URL'ler
Exact Matchhttp://www.tr7.com/http://www.tr7.com/
Starthttps://Tüm HTTPS istekleri
Includestr7.comhttp://www.tr7.com/api, https://api.tr7.com
Regex^https?://[^/]+/api/API endpoint'leri

INFO

Case Insensitive Varsayılan: Kapalı ​

Büyük/küçük harf duyarlılığını kontrol eder.

  • Aktif: example, EXAMPLE, Example aynı kabul edilir
  • Aktif Değil: Tam eşleşme gerekir (varsayılan)

INFO

Query Zorunlu ​

Eşleştirilecek olan değer bu alana girilir. Seçilen eşleştirme yöntemine göre:

  • Exact match: Değerin birebir karşılığını kontrol eder.
  • Start: Aranacak metin parçasının başlangıcını kontrol eder.
  • End: Aranacak metin parçasının bitişini kontrol eder.
  • Includes: Aranacak metin parçasının içinde geçme durumunu kontrol eder.
  • Regex: Düzenli ifade deseni (Regex) ile kontrol eder.

Örnek değerler:

  • http://www.tr7.com/login.php?id=7: Exact match için (tam URL)
  • https://: Start için (HTTPS trafiği)
  • .tr7.com: Includes için (TR7 domain'leri)

URL Kodlaması ve Host Kaynağı

Koşul, URL'yi ham (kodlanmamış) haliyle değerlendirir; %2F gibi kodlamalar çözülmez ve URL Normalization aksiyonu koşuldan sonra çalışır. Host bölümü istemcinin gönderdiği Host başlığından harfiyen alınır; Host başlığı olmayan isteklerde host yerine vService adres bilgisi kullanılır: host bazlı desenler bu isteklerle eşleşmez.

INFO

Condition Description ​

Girilen kriter ve değerler doğrultusunda TR7 tarafından otomatik olarak oluşturulur.

Bu açıklama;

  • Koşulun hangi değer için geçerli olduğunu,
  • Hangi kriter üzerinden çalıştığını,
  • Listeleme ekranlarında koşulun hızlıca anlaşılmasını

sağlayacak şekilde sistem tarafından dinamik olarak üretilir.

TIP

Değerlendirilen URL, aksiyonlarda %URL akıllı değişkeniyle kullanılabilir. Ayrıca koşul seçim listelerinde URL yapısına dair hazır koşullar sunulur: If URL structure is standard, If URL starts with /, If URL is *: bunlar bu kriterden bağımsız, ürün tanımlı denetimlerdir.

INFO

Form Butonları ​

Add ​

Add butonuna tıklanarak koşul ekleme işlemi tamamlanır.

Add & Repeat ​

Add & Repeat butonu ile koşul ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir koşul daha eklenebilir.

Koşul EklendiKoşul Eklendi

Operasyonel Kullanım Önerileri ​

  • Gerekmedikçe Path Tercih Edin. Host bilgisine ihtiyacınız yoksa Path koşulunu kullanın, daha basit ve performanslıdır.
  • Protocol-Agnostic Kurallar. HTTP ve HTTPS için aynı kuralı uygulamak istiyorsanız :// veya host kısmından eşleştirme yapın.
  • www ve non-www Dikkat. www.example.com ve example.com farklı URL'lerdir. Her ikisini de kapsamak için uygun eşleştirme yöntemi seçin.

Canlı Ortamlarda Yaygın Kullanım Senaryoları ​

Aşağıdaki örnekler, ilgili koşulun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.

Senaryo 1: HTTP Trafiğini HTTPS'e Yönlendirme ​

Kullanım Amacı: Güvenlik politikası gereği HTTP protokolü ile gelen tüm istekleri HTTPS'e otomatik yönlendirerek şifreli iletişim sağlamak.

Konfigürasyon: Content Matching Method → Start · Query → http://

Aksiyon Önerileri:

  • ✅ Redirect to HTTPS → HTTP ile gelen tüm istekler 301 Permanent Redirect ile HTTPS protokolüne yönlendirilir.
  • ✅ Advanced Traffic Inspection → HTTP vs HTTPS kullanım oranı analizi için detaylı loglama yapılır.

Senaryo 2: Belirli Subdomain için API Rate Limiting ​

Kullanım Amacı: Multi-domain ortamda API subdomain'ine (api.tr7.com) özel bant genişliği sınırlaması ve özel header ekleme.

Konfigürasyon: Content Matching Method → Includes · Query → api.tr7.com

Aksiyon Önerileri:

  • ✅ Bandwidth Limitation → API subdomain'ine IP bazlı 20 Mbps throughput sınırı uygulanır.
  • ✅ Add HTTP Header → API isteklerine X-API-Domain: true ve X-Rate-Limit-Policy: strict header'ları eklenir.

Senaryo 3: www Prefix Normalizasyonu ​

Kullanım Amacı: SEO ve tutarlılık için www prefix içeren URL'leri non-www versiyonuna yönlendirmek.

Konfigürasyon: Content Matching Method → Includes · Query → ://www.

Aksiyon Önerileri:

Senaryo 4: Güvenli Subdomain için Özel Güvenlik Başlıkları ​

Kullanım Amacı: Kritik işlemlerin yapıldığı secure subdomain'ine (secure.tr7.com) ekstra güvenlik başlıkları eklemek.

Konfigürasyon: Content Matching Method → Regex · Query → ^https://secure\.tr7\.com/

Aksiyon Önerileri:

  • ✅ Manage HTTP Security Headers → Secure subdomain'ine HSTS, CSP, X-Frame-Options, X-Content-Type-Options güvenlik header'ları eklenir.
  • ✅ Add HTTP Header → X-Secure-Endpoint: true ve Strict-Transport-Security: max-age=31536000 header'ları eklenir.