Redirect for Traffic Manager Errors
Redirect for Traffic Manager Errors Aksiyonu Nedir?
Redirect for Traffic Manager Errors aksiyonu, TR7'nin kendisi tarafından üretilen HTTP hata kodlarında istemciyi belirtilen bir URL'ye yönlendirir. Bu aksiyon, Kurum Servisine ulaşılamadan oluşan hatalarda kullanıcı deneyimini iyileştirir.
Hata kodu durumunda içerik göstermek için ise Show Content for Traffic Manager Errors aksiyonu kullanılır.
Bu aksiyon yalnızca istek (request) aşamasında çalışır ve koşul gerektirmez.
Trafik Yöneticisi Hataları vs Kurum Servisi Hataları
TR7'de hata yönlendirme iki farklı kaynağa göre ayrılır:
| Hata Kaynağı | Aksiyon | Çalışma Zamanı |
|---|---|---|
| Trafik Yöneticisi | Bu aksiyon | Request (Kurum Servisine ulaşmadan) |
| Kurum Servisi | Redirect for Backend Service Errors | Response (Kurum Servisi yanıtladıktan sonra) |
Trafik Yöneticisi hatalarına örnekler:
- 503 Service Unavailable
- 502 Bad Gateway
- 504 Gateway Timeout
- 408 Request Timeout
- 429 Too Many Requests
Redirect for Traffic Manager Errors Aksiyonunun Önemi
Hata durumlarında kullanıcı deneyimini iyileştirmek için yönlendirme kritik öneme sahiptir.
Redirect for Traffic Manager Errors aksiyonu;
- Teknik hata mesajları yerine kullanıcı dostu sayfalar gösterir,
- Bakım sayfalarına otomatik yönlendirme sağlar,
- Hata durumlarında alternatif servislere yönlendirir,
- SEO açısından uygun hata yönetimi sağlar.
Bu nedenle Redirect for Traffic Manager Errors aksiyonu, profesyonel hata yönetimi için önemli bir araçtır.
Kullanılabildiği vService Tipleri
Çalışma Anı
Nasıl Eklenir?
Yeni bir Redirect for Traffic Manager Errors Aksiyonu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Actions → Add adımları takip edilir.
- Aksiyon için benzersiz ve açıklayıcı bir isim girilir.
- Action Type olarak Redirect for Traffic Manager Errors seçilir.
- Aksiyona ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak aksiyon eklenir.
Redirect for Traffic Manager Errors Aksiyonu Ekleme Formu
Redirect for Traffic Manager Errors Aksiyonu Ekleme Formu
INFO
Action Type
Aksiyon tipi olarak Redirect for traffic manager errors seçilir.
Aksiyon koşul almadığından ve sayaç desteklemediğinden 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. Alan zorunlu değildir; ancak hiçbir kod seçilmezse aksiyon hiçbir şey yapmaz ve uyarı verilmez.
TR7 tarafından üretilebilen hata kodları:
| Kod | Durum | Açıklama |
|---|---|---|
| 400 | Bad Request | İstek yapısı hatalı |
| 401 | Unauthorized | Kimlik doğrulama gerekli |
| 403 | Forbidden | Erişim yasak |
| 404 | Not Found | Kaynak bulunamadı |
| 405 | Method Not Allowed | HTTP metodu desteklenmiyor |
| 407 | Proxy Auth Required | Proxy kimlik doğrulaması gerekli |
| 408 | Request Timeout | İstek zaman aşımı |
| 410 | Gone | Kaynak kalıcı olarak kaldırıldı |
| 413 | Payload Too Large | İstek boyutu çok büyük |
| 425 | Too Early | Erken istek |
| 429 | Too Many Requests | Çok fazla istek (rate limiting) |
| 500 | Internal Server Error | Dahili sunucu hatası |
| 501 | Not Implemented | Özellik desteklenmiyor |
| 502 | Bad Gateway | Kurum Servisinde geçersiz yanıt |
| 503 | Service Unavailable | Servis kullanılamıyor |
| 504 | Gateway Timeout | Kurum Servisi yanıt vermedi |
INFO
Redirect Location Zorunlu
Hata durumunda istemcinin yönlendirileceği URL bilgisi girilir. Tam URL veya göreli path olabilir.
TIP
Bu alanda akıllı değişkenler çalışmaz
Alanın yanında fx butonu görünür ve değişken eklenmesine izin verilir; ancak bu aksiyonun ürettiği yönlendirme sabit bir adres kabul eder. Eklenen değişkenler çözümlenmez ve istemciye ham ifade olarak gider.
Hedef adres bu alana sabit metin olarak yazılmalıdır. İsteğin dizinini veya parametrelerini koruyan bir yönlendirme gerekiyorsa Redirect for Backend Service Errors aksiyonu kullanılır; o aksiyonda değişkenler çalışır.
Aşağıdaki görselde fx ile eklenmiş bir değişken görülür; bu aksiyonda böyle bir ifade çözümlenmez, istemciye olduğu gibi gider.
Detaylı bilgi Variables sayfasında yer alır.
Çözümlenmeyen değişken örneği
Örnek değerler:
| Değer | Açıklama |
|---|---|
https://example.com/error | Sabit hata sayfası |
https://status.example.com/ | Durum sayfası |
/maintenance.html | Göreli path (aynı domain) |
https://backup.example.com/maintenance | Yedek sunucudaki sabit sayfa |
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 Eklendi
WARNING
Redirect for Traffic Manager 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.
Yönlendirme kodu sabittir
Yönlendirme her zaman geçici yönlendirme (302) olarak yapılır; durum kodu seçilemez. Bu nedenle POST istekleri hedefe GET olarak iletilir.
INFO
Hangi Hatalar Bu Aksiyona Düşer
Aksiyon, TR7'nin dahili hata yanıtı ürettiği durumları kapsar: Kurum Servisine ulaşılamaması (503), geçersiz yanıt (502), zaman aşımı (504), protokol hatası (400/408) ve Block aksiyonu ile Trafik Koruma engellemeleri.
Buna karşılık kendi içeriğini üreten yanıtlar etkilenmez: WAF engelleme sayfası, karantina yanıtı, CAPTCHA sayfası ve Show Content aksiyonlarının döndürdüğü içerikler yönlendirilmez.
Aynı hata kodu için tek tanım yapılmalıdır
Aksiyonun vService başına sayı sınırı yoktur. Aynı hata kodu için birden fazla yönlendirme (veya bir yönlendirme ile bir Show Content for Traffic Manager Errors) tanımlanırsa uyarı verilmez; aksiyon listesinde sonra gelen tanım geçerli olur.
Operasyonel ve Güvenli Kullanım Önerileri
- 503 ve 502 Hatalarını Öncelikli Yapılandırın. Kurum Servisine erişilemezlik durumları en yaygın senaryodur. Bu hata kodlarını mutlaka yapılandırın.
- Yönlendirme hedefi bağımsız tutulur. Yönlendirme hedefi, aynı vService ya da Kurum Servisine bağımlı olmamalıdır; farklı bir sunucu veya CDN kullanılır.
- Hedefi Sabit Yazın. Bu aksiyonda akıllı değişkenler çözümlenmez; hedef adres sabit metin olmalıdır. İsteğin dizinini koruyan yönlendirme gerekiyorsa Redirect for Backend Service Errors tercih edilmelidir.
- Sonsuz döngüden kaçınılır. Yönlendirme hedefinin de hata vermesi durumunda döngü oluşur; hedef URL'nin erişilebilir olduğu doğrulanır.
- 429 Rate Limiting için özel sayfa. Rate limiting devreye girdiğinde kullanıcıya bilgi veren özel bir sayfa gösterilir.
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: 503 Service Unavailable Bakım Sayfasına Yönlendirme
Problem: Kurum Servisleri planlı bakım için kapatılıyor veya deployment sırasında geçici olarak erişilemiyor. TR7, Kurum Servislerine ulaşamadığında 503 Service Unavailable hatası üretiyor. Kullanıcılar teknik hata mesajı görmek yerine bakım sayfası görmeli.
Çözüm: 503 hatasında kullanıcılar statik bakım sayfasına yönlendirilir ve bakımın ne zaman biteceği bildirilir.
Konfigürasyon:
- Error Codes: 503
- Redirect Location:
https://cdn.example.com/maintenance.html
Sonuç:
- ✅ Kullanıcı bilgilendirme → Bakım sayfası, bakım süresini ve ne zaman biteceğini gösterir.
- ✅ Bağımsız hosting → CDN üzerinde statik sayfa, TR7 ve Kurum Servisinden bağımsız çalışır.
- ✅ Profesyonel görünüm → Teknik hata yerine markalı bakım sayfası gösterilir.
- ✅ SEO koruması → Geçici bakım durumu arama motorlarına doğru iletilir.
Bakım sayfası içeriği:
<!DOCTYPE html>
<html>
<head>
<title>Site Bakımda</title>
<meta http-equiv="refresh" content="60">
</head>
<body>
<h1>Planlı Bakım</h1>
<p>Sistemlerimiz şu anda bakım altında.</p>
<p><strong>Tahmini Bitiş:</strong> 15:00 (30 dakika sonra)</p>
<p>Daha iyi hizmet için çalışıyoruz. Teşekkürler!</p>
</body>
</html>Kullanım akışı:
Kullanıcı → TR7 → Kurum Servisleri (Down)
↓
TR7 (503 Error)
↓
Redirect (302)
↓
Kullanıcı ← CDN/maintenance.htmlSenaryo 2: 502 Bad Gateway Bilgilendirme Sayfası
Problem: Kurum Servisi geçersiz yanıt döndürdüğünde (502) kullanıcılar tarayıcının ham hata ekranını görüyor ve destek hattına yönlenemiyor.
Çözüm: 502 hatalarında kullanıcılar, TR7 dışında barındırılan bir bilgilendirme sayfasına yönlendirilir.
Konfigürasyon:
- Error Codes:
502 - Redirect Location:
https://durum.example.com/502(sabit adres)
Sonuç:
- ✅ 502 yanıtı → Kullanıcı bilgilendirme sayfasına yönlendirilir.
- ✅ Sayfa TR7 dışında barındırıldığı için → Kurum Servisi tamamen erişilemez olsa da açılır.
- ⚠️ Yönlendirme geçici (302) olarak yapılır ve isteğin dizini korunmaz; hedef sabit bir adrestir.
Senaryo 3: 504 Gateway Timeout Durum Sayfasına Yönlendirme
Problem: Kurum Servisleri bazen çok yavaş yanıt veriyor ve TR7 timeout alıyor (504 Gateway Timeout). Kullanıcı "Gateway Timeout" mesajı görünce ne olduğunu anlamıyor ve sürekli yeniliyor, durumu daha da kötüleştiriyor.
Çözüm: 504 hatasında kullanıcılar sistem durumu sayfasına yönlendirilir ve mevcut sorunlar hakkında bilgi verilir.
Konfigürasyon:
- Error Codes: 504
- Redirect Location:
https://status.example.com/incident
Sonuç:
- ✅ Kullanıcı bilgilendirme → Sistemde yavaşlık olduğu ve çözüm için çalışıldığı belirtilir.
- ✅ Tekrar deneme azalması → Kullanıcı durum sayfasında bilgilendirme aldığı için sürekli yenilemeyi bırakır.
- ✅ Şeffaflık → Sistem durumu gerçek zamanlı gösterilir, güven oluşur.
- ✅ Destek yükü azalır → Kullanıcılar durum sayfasında bilgi bulduğu için destek aramaz.
Durum sayfası içeriği:
<!DOCTYPE html>
<html>
<head>
<title>Sistem Durumu</title>
</head>
<body>
<h1>Performans Sorunu Tespit Edildi</h1>
<div class="incident">
<span class="status investigating">Araştırılıyor</span>
<p><strong>Etkilenen Servisler:</strong> Web Uygulaması, API</p>
<p><strong>Başlangıç:</strong> 14:23</p>
<p>Sistemlerimizde yavaşlık yaşanıyor. Ekibimiz sorunu araştırıyor.</p>
<p><strong>Son Güncelleme (14:45):</strong> Database bağlantı havuzu genişletildi, iyileşme gözlemleniyor.</p>
</div>
<button onclick="location.reload()">Tekrar Dene</button>
</body>
</html>