Skip to content
Smarter by Design.Simpler for Business

Redirect for Backend Service Errors ​

Redirect for Backend Service Errors Aksiyonu Nedir? ​

Redirect for Backend Service Errors aksiyonu, Kurum Servislerinden dönen HTTP hata kodlarında istemciyi belirtilen bir URL'e yönlendirir. Bu aksiyon, Kurum Servisinin hata yanıtlarını kullanıcı dostu sayfalara çevirmesine olanak tanır.

Hata kodu durumunda içerik göstermek için ise Show Content for Backend Service Errors aksiyonu kullanılır.

Bu aksiyon yalnızca yanıt (response) aşamasında çalışır ve koşul gerektirmez.

1 · Kurum Servisi yanıtı (hata)
HTTP/1.1 404 Not Found
↓
2 · TR7 istemciyi yönlendirir
Location: /error-page
↓
3 · Kullanıcı dostu sayfa
Backend hata detayı gizlenir, özel sayfa gösterilir

Kurum Servisi Hataları vs Trafik Yöneticisi Hataları ​

TR7'de hata yönlendirme iki farklı kaynağa göre ayrılır:

Hata KaynağıAksiyonÇalışma Zamanı
Kurum ServisiBu aksiyonResponse (Kurum Servisi yanıtladıktan sonra)
Trafik YöneticisiRedirect for Traffic Manager ErrorsRequest (Kurum Servisine ulaşmadan)

Kurum Servisi hatalarına örnekler:

  • 404 Not Found
  • 500 Internal Server Error
  • 403 Forbidden
  • 401 Unauthorized

Redirect for Backend Service Errors Aksiyonunun Önemi ​

Kurum Servisi hatalarının merkezi yönetimi, tutarlı kullanıcı deneyimi sağlar.

Redirect for Backend Service Errors aksiyonu;

  • Farklı Kurum Servislerinin hata sayfalarını standartlaştırır,
  • 404 hatalarını arama veya ana sayfaya yönlendirir,
  • Uygulama hatalarında destek sayfasına yönlendirir,
  • Kurum Servisi hata detaylarını kullanıcıdan gizler,
  • Smart Variables ile dinamik yönlendirme sağlar.

Bu nedenle Redirect for Backend Service Errors aksiyonu, kullanıcı deneyimi ve güvenlik için önemli bir araçtır.

Kullanılabildiği vService Tipleri ​

HTTP
L7 TCP
Network

Çalışma Anı ​

İstek Anı (On Request)
Cevap Anı (On Response)

Nasıl Eklenir? ​

Yeni bir Redirect for Backend Service Errors Aksiyonu, 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 → Actions → Add adımları takip edilir.
  3. Aksiyon için benzersiz ve açıklayıcı bir isim girilir.
  4. Action Type olarak Redirect for Backend Service Errors seçilir.
  5. Aksiyona ait ilgili konfigürasyonlar yapılandırılır.
  6. Add butonuna tıklanarak aksiyon eklenir.

Redirect for Backend Service Errors Aksiyonu Ekleme Formu ​

Redirect for Backend Service Errors Aksiyonu Ekleme FormuRedirect for Backend Service Errors Aksiyonu Ekleme Formu

INFO

Action Name ​

Oluşturulacak olan aksiyona benzersiz ve açıklayıcı bir isim girilir.

INFO

Action Type ​

Aksiyon tipi olarak Redirect for backend service errors seçilir.

Aksiyon yalnızca yanıt aşamasında ve koşulsuz çalıştığından formda Execution Level, Rule Protocol, Conditions, Hit Counter ve Set Variable on Hit alanları bulunmaz.

INFO

Error Codes ​

Yönlendirme yapılacak HTTP hata kodları seçilir. Birden fazla hata kodu seçilebilir; liste 16 koddan oluşur ve duruma göre daralmaz.

WARNING

Alan zorunlu değildir, ancak hiçbir kod seçilmezse aksiyon hiçbir şey yapmaz ve uyarı da verilmez.

Seçilebilen hata kodları:

KodDurumKurum Servisi Senaryosu
400Bad RequestUygulama parametresi hatalı
401UnauthorizedOturum süresi doldu
403ForbiddenYetki yetersiz
404Not FoundSayfa/API bulunamadı
405Method Not AllowedDesteklenmeyen HTTP metodu
410GoneKaynak kalıcı olarak kaldırıldı
500Internal Server ErrorUygulama çöktü/hata verdi
502Bad GatewayKurum Servisi proxy hatası
503Service UnavailableUygulama bakımda
407Proxy Authentication RequiredProxy kimlik doğrulaması gerekli
408Request Timeoutİstek zaman aşımına uğradı
413Payload Too Largeİstek boyutu çok büyük
425Too Earlyİstek çok erken gönderildi
429Too Many Requestsİstek sınırı aşıldı
501Not ImplementedYöntem uygulanmamış
504Gateway TimeoutAğ geçidi zaman aşımı

INFO

Redirect Location Zorunlu ​

Kurum Servisi hatası durumunda istemcinin yönlendirileceği URL bilgisi girilir. Tam URL veya göreli path olabilir.

TIP

Bu alan Smart Variables destekler. fx butonu ile mevcut değişkenlere erişilebilir ve dinamik içerik oluşturulabilir.

Örnek değişkenler: istek dizini (Path), parametreler (Query) ve dönen durum kodu (Status) gibi yanıt aşaması değişkenleri. Sabit metin değerleriyle birlikte kullanılabilir.

Aksiyon yanıt aşamasında çalıştığı için değişken havuzu yanıt değişkenlerini de içerir: dönen durum kodu, yanıt başlıkları ve yanıt çerezleri hedef adreste kullanılabilir. Ayrı bir "Host" değişkeni yoktur; alan adı gerekiyorsa İstek Başlık bilgisi değişkeni host başlık adıyla kullanılır.

Detaylı bilgi Variables sayfasında yer alır.

Smart Variable Kullanımı ÖrneğiSmart Variable Kullanımı Örneği

Örnek değerler:

DeğerAçıklama
/error-pageGenel hata sayfası
https://example.com/404Bulunamadı sayfası
/search?q=[İsteğin yapıldığı dizin/sayfa]Arama sayfasına yönlendir
https://help.example.com/errorYardım sayfası

INFO

Form Butonları ​

Add ​

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

Add & Repeat ​

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

Aksiyon EklendiAksiyon Eklendi

WARNING

Redirect for Backend Service Errors aksiyonu koşul gerektirmez ve tanımlandığı vService üzerinde koşulsuz (Always) olarak uygulanır.

Koşulsuz çalışan aksiyonlar, trafik içeriğine bağlı değerlendirme yapmadan, ilgili vService üzerindeki tüm trafiği veya davranışı doğrudan etkiler.

Canlı ortamlarda, bu tür aksiyonların devreye alınması öncesinde hedef servis davranışlarının ve olası etkilerin dikkatle değerlendirilmesi önerilir. Aksi durumda, beklenmeyen servis davranışları veya operasyonel sorunlar oluşabilir.

Erişilemeyen Kurum Servisi hataları bu aksiyona düşmez

Bu aksiyon yalnızca Kurum Servisinden gerçekten dönen yanıtların durum kodlarını değerlendirir. Kurum Servisine hiç ulaşılamadığında (servis kapalı, bağlantı zaman aşımı) hata yanıtını TR7'nin kendisi üretir ve bu aksiyon devreye girmez.

Bu durumları karşılamak için Redirect for Traffic Manager Errors aksiyonu kullanılır. İki aksiyon aynı vService'te birlikte tanımlanabilir; biri Kurum Servisinin ürettiği hataları, diğeri TR7'nin ürettiği hataları karşılar.

WARNING

Yönlendirme yanıtı üretildiğinde Kurum Servisinin gövdesi istemciye iletilmez ve aynı vService'teki sonraki yanıt aksiyonları çalışmaz. Aynı vService'e farklı kod grupları için birden fazla yönlendirme aksiyonu eklenebilir.

Operasyonel ve Güvenli Kullanım Önerileri ​

  • 404 hataları akıllıca yönetilir. 404 hataları arama sayfasına ya da site haritasına yönlendirilir; bu, kullanıcının aradığını bulmasına yardımcı olur.
  • 500 hatalarında ayrıntı gizlenir. Uygulama hataları stack trace içerebilir; bunların gizlenmesi için özel hata sayfasına yönlendirme yapılır.
  • 401 hatalarında login sayfasına yönlendirilir. Oturum gerektiren sayfalarda 401 alındığında istemci login sayfasına yönlendirilir.
  • Yönlendirme döngüsünden kaçınılır. Yönlendirme hedefinin de hata vermesi durumunda döngü oluşur; hedef sayfanın statik ve güvenilir olduğu doğrulanır.
  • Yönlendirme Kodu Sabittir. Bu aksiyon yönlendirmeyi geçici yönlendirme (302) olarak üretir; durum kodu seçilemez. Kalıcı yönlendirme (301) gerekiyorsa Location Redirection aksiyonu kullanılmalıdır.

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

Aşağıdaki örnekler, ilgili aksiyonun 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: 404 Hatalarını Akıllı Arama Sayfasına Yönlendirme ​

Problem: E-ticaret sitesinde ürün stoktan kalktığında veya URL değiştiğinde Kurum Servisi 404 Not Found hatası veriyor. Kullanıcılar hata sayfası görmek yerine aradıkları ürünü bulabilmeli. Özellikle eski bookmark'lar ve arama motoru linkleri 404 veriyor.

Çözüm: 404 hatasında kullanıcı site içi arama sayfasına yönlendirilir ve aranan sayfa bilgisi arama kutusuna otomatik doldurulur.

Konfigürasyon:

  • Error Codes: 404
  • Redirect Location: /search?q= + Smart Variables (fx) butonundan İsteğin yapıldığı dizin/sayfa değişkeni seçilir

Sonuç:

  • ✅ Kullanıcı deneyimi → 404 sayfası görmek yerine arama yapabilir.
  • ✅ Satış kaybı önleme → Kullanıcı alternatif ürünleri bulup satın alabilir.
  • ✅ SEO dostu → Arama motorları kullanıcıları işe yarar bir sayfaya yönlendirir.
  • ✅ Otomatik arama → Path bilgisi arama kutusuna doldurulur, kullanıcı tek tıkla arar.

Örnek yönlendirme:

  • İstek: https://example.com/products/iphone-14-case
  • Kurum Servisi: 404 Not Found
  • Yönlendirme: https://example.com/search?q=/products/iphone-14-case
  • Kullanıcı arama sonuçlarında benzer ürünleri görür

Senaryo 2: 500/502/503 Uygulama Hatalarını Destek Sayfasına Yönlendirme ​

Problem: Kurum Servisi bazen 500 Internal Server Error veriyor ve kullanıcılara stack trace, database connection error gibi hassas bilgiler gösteriliyor. Kullanıcılar ne yapacağını bilmiyor ve güvenlik açığı oluşuyor.

Çözüm: Tüm sunucu hataları (500, 502, 503) özel destek/yardım sayfasına yönlendirilir ve hata ayrıntıları gizlenir.

Konfigürasyon:

  • Error Codes: 500, 502, 503
  • Redirect Location: https://help.example.com/server-error

Sonuç:

  • ✅ Güvenlik → Stack trace, database bilgileri gizlenir.
  • ✅ Profesyonel görünüm → Kullanıcıya özel hazırlanmış yardım sayfası gösterilir.
  • ✅ Destek entegrasyonu → Hata sayfasında ticket açma, chat destek olabilir.
  • ✅ Kullanıcı yönlendirme → Ne yapması gerektiği açıkça belirtilir.

Yönlendirme akışı:

Kullanıcı → TR7 → Kurum Servisi (500 Error + Stack Trace)
                  ↓
            TR7 (Redirect)
                  ↓
Kullanıcı ← https://help.example.com/server-error

Destek sayfası içeriği:

  • "Sistemde geçici bir sorun oluştu"
  • Ticket açma formu
  • Alternatif iletişim bilgileri
  • Sistem durumu sayfası linki

Senaryo 3: 401 Oturum Süresi Doldu Login'e Yönlendirme ​

Problem: Web uygulamasında kullanıcı oturumu 30 dakika sonra otomatik kapanıyor. Kullanıcı işlem yapmaya çalıştığında Kurum Servisi 401 Unauthorized hatası veriyor. Kullanıcı ne olduğunu anlamıyor ve "Forbidden" gibi teknik mesajlar görüyor.

Çözüm: 401 hatasında kullanıcı login sayfasına yönlendirilir ve oturumun sona erdiği, yeniden giriş yapılması gerektiği bildirilir.

Konfigürasyon:

  • Error Codes: 401
  • Redirect Location: /login?session_expired=true&return_url= + Smart Variables (fx) butonundan İsteğin yapıldığı dizin/sayfa değişkeni seçilir

Sonuç:

  • ✅ Kullanıcı deneyimi → "Oturum süresi doldu, lütfen tekrar giriş yapın" mesajı görür.
  • ✅ Return URL → Giriş yaptıktan sonra kaldığı sayfaya döner.
  • ✅ Session yönetimi → Kullanıcı durumu anlar ve tekrar giriş yapar.
  • ✅ Kayıp önleme → Kullanıcı yaptığı işlemi tamamlayabilir.

Örnek akış:

  • Kullanıcı: /dashboard/orders/edit/123 sayfasında işlem yapıyor
  • Kurum Servisi: 401 Unauthorized (session expired)
  • Yönlendirme: /login?session_expired=true&return_url=/dashboard/orders/edit/123
  • Login sonrası: /dashboard/orders/edit/123 sayfasına döner

Login sayfası mesajı:

html
<div class="alert alert-warning">
    <strong>Oturum süreniz doldu.</strong>
    Güvenliğiniz için oturumunuz otomatik olarak kapatıldı.
    Lütfen tekrar giriş yapın.
</div>

Senaryo 4: 403 Yetki Hatalarını İzinler Sayfasına Yönlendirme ​

Problem: Kurumsal web uygulamasında kullanıcılar yetkisi olmayan sayfalara erişmeye çalışıyor ve Kurum Servisi 403 Forbidden hatası veriyor. Kullanıcı "Forbidden" mesajı görünce ne yapacağını bilmiyor ve destek çağırıyor.

Çözüm: 403 hatasında kullanıcı izin talep sayfasına yönlendirilir ve erişilmek istenen kaynak otomatik gösterilir.

Konfigürasyon:

  • Error Codes: 403
  • Redirect Location: /access-denied?resource= + Smart Variables (fx) butonundan İsteğin yapıldığı dizin/sayfa değişkeni seçilir

Sonuç:

  • ✅ Kullanıcı bilgilendirme → Neden erişemediği açıkça belirtilir.
  • ✅ İzin talep süreci → Kullanıcı hangi kaynağa erişmek istediğini belirterek yöneticiden izin talep edebilir.
  • ✅ Destek yükü azalması → Kullanıcı self-service ile izin talep eder, destek aramaz.
  • ✅ Audit trail → Hangi kullanıcının hangi kaynağa erişmeye çalıştığı loglanır.

Örnek akış:

  • Kullanıcı: /admin/reports/financial sayfasına giriyor
  • Kurum Servisi: 403 Forbidden (no permission)
  • Yönlendirme: /access-denied?resource=/admin/reports/financial

Access Denied sayfası:

html
<div class="alert alert-danger">
    <h3>Erişim Yetkiniz Yok</h3>
    <p>Aşağıdaki kaynağa erişim yetkiniz bulunmuyor:</p>
    <code>/admin/reports/financial</code>
    <p>Bu kaynağa erişim için yöneticinizden izin talep edebilirsiniz.</p>
    <button class="btn btn-primary">İzin Talep Et</button>
</div>