Show Content for Traffic Manager Errors
Show Content for Traffic Manager Errors Aksiyonu Nedir?
Show Content for Traffic Manager Errors aksiyonu, TR7'nin kendisi tarafından üretilen HTTP hata kodlarında önceden tanımlanmış bir içerik sayfası gösterir. Bu aksiyon, yönlendirme yerine doğrudan içerik sunarak daha hızlı kullanıcı deneyimi sağlar.
Hata kodu durumunda yönlendirme yapmak için ise Redirect 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 | Show Content 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
Show Content for Traffic Manager Errors Aksiyonunun Önemi
Hata durumlarında hızlı ve tutarlı içerik sunumu kritik öneme sahiptir.
Show Content for Traffic Manager Errors aksiyonu;
- Yönlendirme yerine doğrudan içerik sunar (daha hızlı),
- Harici bağımlılık olmadan çalışır,
- Özelleştirilebilir HTML/CSS içerik sayfaları kullanır,
- Seçilen hata kodları için özel bir bilgilendirme sayfası sunar,
- HTTP durum kodunu özelleştirme imkanı sunar.
Bu nedenle Show Content for Traffic Manager Errors aksiyonu, yüksek performanslı hata yönetimi için tercih edilir.
Kullanılabildiği vService Tipleri
Çalışma Anı
Nasıl Eklenir?
Yeni bir Show Content 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 Show Content for Traffic Manager Errors seçilir.
- Aksiyona ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak aksiyon eklenir.
Show Content for Traffic Manager Errors Aksiyonu Ekleme Formu
Show Content for Traffic Manager Errors Aksiyonu Ekleme Formu
INFO
Content Page
İstemciye gösterilecek olan Content Pages bu alandan seçilir.
Daha önce oluşturulmuş içerik sayfalarından seçim yapılabilir veya Add butonuna tıklanarak yeni bir içerik sayfası aksiyon ekleme adımında da oluşturulabilir.
İçerik sayfaları Load Balancer → Profiles → Content Pages bölümünden merkezi olarak yönetilir. Detaylı bilgi Content Pages sayfasında yer alır.
İçerik Sayfası Oluşturma
İçerik sayfası yoksa Default içerik sayfası profili kullanılabilir ya da açılır listedeki Add butonuna tıklanarak hızlıca yeni bir sayfa oluşturulur. İçerik sayfaları HTML, CSS ve JavaScript içerebilir.
INFO
Error Codes
İçerik gösterilecek HTTP hata kodları seçilir. Birden fazla hata kodu seçilebilir.
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ı |
| 408 | Request Timeout | İstek zaman aşımı |
| 429 | Too Many Requests | Rate limiting |
| 500 | Internal Server Error | Dahili hata |
| 502 | Bad Gateway | Kurum Servisi hatası |
| 503 | Service Unavailable | Servis kullanılamıyor |
| 504 | Gateway Timeout | Kurum Servisi timeout |
INFO
Status Code
İstemciye döndürülecek HTTP durum kodu seçilir. Varsayılan olarak 200 OK seçilidir.
Durum Kodu Seçimi
- Orijinal hata kodunun korunması için aynı kod seçilir (örn. 503 hatası için 503)
- SEO için 200 kullanılabilir (dikkatli kullanılır)
- Genellikle orijinal hata kodunu korumak önerilir
Yaygın Seçenekler:
| Kod | Kullanım Senaryosu |
|---|---|
| 200 | İçerik başarıyla sunuldu (hata gizlenir) |
| 503 | Bakım sayfası (orijinal hata korunur) |
| 404 | Bulunamadı sayfası |
| 500 | Sunucu hatası 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 Eklendi
Koşul Durumu
Show Content 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.
Davranış Ayrıntıları
- Content Page alanı Access denied page (English) hazır sayfasıyla ön seçili gelir; dokunulmazsa hata durumunda bu sayfa gösterilir.
- Listedeki Default profile seçeneği yalnızca TR7 logosu taşıyan boş bir sayfadır; hata metni içermez, kullanılması önerilmez.
- Error Codes alanı boş bırakılabilir; hiçbir kod seçilmezse aksiyon hiçbir şey yapmaz ve uyarı verilmez.
- Aksiyona bağlı içerik sayfası silinirse aksiyon sessizce devre dışı kalır; silme işlemi engellenmez.
- İçerik metninde akıllı değişkenler çözülür; istemci adresi veya zaman damgası sayfada gösterilebilir.
- Aksiyon koşul alamaz; formda Conditions alanı bulunmaz. Sayaç da desteklenmediğinden Hit Counter ve Set Variable on Hit alanları yer almaz.
- vService başına sayı sınırı yoktur; aynı hata kodu için ikinci bir tanım yapılırsa uyarı verilmez ve tanımlardan yalnızca biri geçerli olur. Aynı kod için bir yönlendirme aksiyonu da tanımlıysa hangisinin uygulanacağı aksiyon sırasına bağlıdır.
- Status Code listesinde içerik döndürülemeyen kodlar (1xx, 204, 304) yer almaz.
INFO
Kapsam
Aksiyon, TR7'nin kendi ürettiği hata yanıtlarını kapsar: Kurum Servisine ulaşılamaması, zaman aşımı, hatalı istek ve Block aksiyonunun döndürdüğü yanıtlar. Tanımlandığında TR7'nin varsayılan hata sayfalarının yerine geçer.
Kendi içeriğini üreten yanıtlar etkilenmez: WAF engelleme sayfası, CAPTCHA sayfası, karantina yanıtı ve bekleme salonu sayfası.
Bu aksiyonla gösterilen sayfada bağlantı kapatılır (Connection: close).
Operasyonel ve Güvenli Kullanım Önerileri
- Hafif İçerik Sayfaları Kullanın. Hata sayfaları minimum boyutta olmalıdır. Büyük resimler veya harici kaynaklar yükleme sorunlarına neden olabilir.
- Orijinal Durum Kodunu Koruyun. SEO ve uygulama uyumluluğu için orijinal hata kodunu döndürmeniz önerilir. 503 hatası için 200 döndürmek yanıltıcı olabilir.
- İletişim bilgisi eklenir. Hata sayfalarına destek iletişim bilgisi eklenir; kullanıcılar sorun yaşadığında iletişim kurabilmelidir.
- Farklı hatalar için farklı içerikler. 503 (bakım) ve 500 (hata) için ayrı içerikler kullanılır; her durum için uygun mesaj gösterilir.
- İçerikleri Düzenli Güncelleyin. Bakım zamanlaması veya iletişim bilgileri değiştiğinde içerik sayfalarını güncelleyin.
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: Planlı Bakım Sayfası ile ETA Gösterimi
Problem: Planlı sistem bakımı veya infrastructure upgrade sırasında tüm Kurum Servisleri kapatılacak ve TR7 503 Service Unavailable üretecek. Kullanıcılar bakımın ne zaman biteceğini, neden yapıldığını bilmiyorlar. Generic browser error sayfası gösterildiğinde kullanıcılar sitenin tamamen çöktüğünü düşünüyor ve panik oluşuyor.
Çözüm: TR7'nin ürettiği 503 hatalarını tahmini bitiş zamanı (ETA), progress bar ve alternatif iletişim bilgileri içeren profesyonel bakım sayfası ile değiştirin.
Konfigürasyon:
- Content Page:
Scheduled Maintenance with Progress - Error Codes: 503
- Status Code: 503 Service Unavailable
Sonuç:
- ✅ Kullanıcı bilgilendirme → Bakım nedeni, tahmini bitiş zamanı, progress bar gösterilir.
- ✅ SEO korunur → 503 durum kodu arama motorlarına geçici durum olduğunu bildirir.
- ✅ Hızlı yanıt → Yönlendirme yerine direkt content, minimum latency.
- ✅ Professional görünüm → Generic error yerine branded maintenance page.
İçerik Sayfası Örneği:
<h1>Planlı Bakım</h1>
<p>Sistemlerimiz güncelleniyor.</p>
<p>Tahmini Bitiş: 02:00 AM</p>
<progress value="60" max="100"></progress>
<p>Sosyal Medya: @company</p>Çalışma Mantığı:
- TR7 health check'te tüm Kurum Servislerini down görür.
- 503 Service Unavailable üretir.
- Show Content aksiyonu devreye girer.
- Maintenance page direkt sunulur. (external redirect yok)
Senaryo 2: Tüm Kurum Servisleri Down - Incident Communication
Problem: Beklenmedik bir infrastructure sorunu (network outage, power failure, datacenter issue) nedeniyle tüm Kurum Servisleri aynı anda down oluyor. TR7 502 Bad Gateway veya 504 Gateway Timeout üretiyor. Kullanıcılar durumu anlayamıyor ve support ekibine yüzlerce ticket açılıyor. Real-time status bilgisi yok.
Çözüm: TR7'nin ürettiği gateway error'larını status page linki, Twitter feed ve incident update'leri içeren dinamik sayfa ile değiştirin.
Konfigürasyon:
- Content Page:
Service Outage with Status Feed - Error Codes: 502, 503, 504
- Status Code: 503 Service Unavailable
Sonuç:
- ✅ Real-time updates → Embedded Twitter feed ile anlık durum güncellemeleri.
- ✅ Support yükü azalır → Proactive communication, ticket sayısını %70 düşürür.
- ✅ Incident transparency → Status page linki ile detaylı bilgi erişimi.
- ✅ Graceful degradation → Total failure durumunda bile profesyonel görünüm.
İçerik Sayfası Özellikleri:
<h1>Servis Geçici Olarak Kullanılamıyor</h1>
<p>Teknik ekibimiz sorun üzerinde çalışıyor.</p>
<a href="https://status.example.com">Durum Sayfası</a>
<div id="twitter-feed">
<!-- Twitter widget: real-time updates -->
</div>
<p>Son Güncelleme: 10:45 AM</p>Dinamik İçerik:
- JavaScript ile auto-refresh (her 30 saniyede bir)
- Twitter API integration ile incident updates
- Status page iframe embedding
Senaryo 3: Connection Timeout ile Auto-Retry Mekanizması
Problem: Kurum Servisleri yüksek load altında yavaşlıyor ve TR7'nin connection timeout süresi (30 saniye) dolduğunda 504 Gateway Timeout üretiliyor. Kullanıcılar blank screen görüyor ve ne yapacaklarını bilmiyorlar. Manuel olarak sayfa refresh yapmaları gerekiyor ama bunu bilmiyorlar.
Çözüm: Timeout hatalarını auto-refresh countdown, manuel retry button ve yük durumu bilgisi içeren sayfa ile değiştirin.
Konfigürasyon:
- Content Page:
Gateway Timeout with Auto-Retry - Error Codes: 408, 504
- Status Code: 504 Gateway Timeout
Sonuç:
- ✅ Auto-retry → JavaScript ile 10 saniye sonra otomatik yeniden deneme.
- ✅ User guidance → Countdown timer ve manuel retry butonu.
- ✅ Transparency → "Sistem yoğun, lütfen bekleyin" mesajı ile kullanıcı bilgilendirme.
- ✅ Engagement → Blank screen yerine interactive page, kullanıcı sayfada kalır.
İçerik Sayfası Örneği:
<h1>Bağlantı Zaman Aşımı</h1>
<p>Sistem şu anda yoğun.</p>
<p>Otomatik yeniden deneme: <span id="countdown">10</span> saniye</p>
<button onclick="location.reload()">Şimdi Dene</button>
<script>
let count = 10;
setInterval(() => {
if (--count === 0) location.reload();
document.getElementById('countdown').innerText = count;
}, 1000);
</script>Kullanıcı Akışı:
- Kurum Servisi 30 saniyede yanıt vermiyor.
- TR7 504 Gateway Timeout üretiyor.
- Auto-retry sayfası gösteriliyor.
- 10 saniye countdown başlıyor.
- Otomatik refresh veya manuel retry.
- İkinci denemede Kurum Servisi yanıt veriyor ve sayfa yükleniyor.
Senaryo 4: Rate Limiting Bildirimi
Problem: TR7'de rate limiting aktif ve kullanıcı istek limitini aşıyor. TR7 429 Too Many Requests üretiyor. Kullanıcı neden bloklandığını, ne zaman tekrar deneyebileceğini bilmiyor. API client'ları rate limit response'u parse edemiyor.
Çözüm: 429 hatalarını retry-after bilgisi, kalan quota ve sınır açıklaması içeren sayfa ile değiştirin.
Konfigürasyon:
- Content Page:
Rate Limit Exceeded - Error Codes: 429
- Status Code: 429 Too Many Requests
Sonuç:
- ✅ Kullanıcı eğitimi → Rate limit nedeni ve limitler açıklanır.
- ✅ Retry guidance → Ne zaman tekrar deneyebileceği belirtilir.
- ✅ API uyumluluk → 429 durum kodu korunur, client'lar doğru algılar.
- ✅ Abuse prevention → Aggressive client'lar bilgilendirilir, legitimate user'lar anlar.
İçerik Sayfası Örneği:
<h1>İstek Limiti Aşıldı</h1>
<p>Çok fazla istek gönderdiniz.</p>
<p>Limit: 100 istek / dakika</p>
<p>Tekrar Deneme: 45 saniye sonra</p>
<p>Kalan Quota: 0/100</p>