503 Service Unavailable Hatası Nedir, Nasıl Çözülür?

Yayın tarihi:

13 dk okuma

Acar Diveroli
Yazar: Acar Diveroli
Üstünde mavi BUSY levhası olan izometrik bir sunucu, istek noktalarının kuyruk oluşturduğu iki yörünge; sağ üstte 503 kutusu

Bir siteyi açıyorsunuz ve karşınıza neredeyse bomboş bir sayfa çıkıyor: iri harflerle 503 Service Temporarily Unavailable, altında nginx. Başka bir site Service Unavailable yazıyor ve suçu bakım çalışmasına ya da kapasite sorununa veriyor. Chrome'da ise bunun yerine tarayıcının kendi hata sayfasını görebilirsiniz: "Bu sayfa çalışmıyor", en altta "HTTP ERROR 503".

Hepsi aynı HTTP durum kodudur ve sunucu hataları arasında en umut verici olanıdır: sorunun geçici olduğunu sunucunun kendisi söyler. Bu yazıda kodun ne anlama geldiğini, sayfayı kimin gönderdiğini, ziyaretçinin ve site sahibinin neler yapabileceğini, arama sıralamasına zarar vermeden siteyi nasıl bakıma alacağınızı ve betikler ile proxy kullananlar için 503'ün ne ifade ettiğini anlatıyoruz.

503 Service Unavailable ne anlama gelir?

503, sunucunun isteğinizi aldığını ama şimdilik işlemeyi reddettiğini gösterir. HTTP standardı RFC 9110, bölüm 15.6.4 iki neden sayar: geçici bir aşırı yük ya da planlı bakım. İkisinin de bir süre sonra geçmesi beklenir. 5 ile başlayan her kod gibi bu da bir sunucu hatasıdır.

503'ü diğerlerinden ayıran şey, baştan geçici bir durum için tanımlanmış olmasıdır. 500 "bir şey bozuldu" der; 503 ise "şimdi olmaz". Sunucu cevaba bir Retry-After başlığı ekleyebilir; bu, isteğin ne zaman yeniden denenmesi gerektiğini söyleyen ek bir satırdır. İçinde ya saniye cinsinden bir süre (Retry-After: 120 iki dakika demektir) ya da bir tarih bulunur. Tarayıcı bu satırı göstermez, ama betikler, uygulamalar ve arama motorlarının tarama botları onu okuyabilir.

503 hatası sizden mi kaynaklanır?

Neredeyse hiçbir zaman. Bağlantınız isteği ulaştırdı, sunucu da cevap verdi; yalnız cevap sayfanın kendisi değildi. Bu yüzden modemi yeniden başlatmak hiçbir şeyi değiştirmez.

Kendi trafiğinizin rol oynadığı tek durum hız sınırıdır (rate limit). Bazı sunucular tek bir adresten gelen fazla isteğe, daha açıklayıcı olan 429 Too Many Requests yerine 503 ile cevap verir; art arda yenilenen bir sayfa ya da bir betik bu hatayı tetikleyebilir. Bir ofis ağında ya da birçok müşterisini tek bir genel IP adresinin arkasında toplayan bir mobil operatörde başkalarının istekleri de sizin hesabınıza sayılır. Bu sınırların nasıl sayıldığını 429 Too Many Requests ve Rate Limit Hatası Nedir? yazısında anlattık.

VPN ya da proxy de aşırı yüklendiğinde veya siteye ulaşamadığında kendi 503'ünü gönderebilir.

503 hatası adım adım nasıl oluşur?

  1. Tarayıcınız sitenin en öndeki sunucusuna ulaşır: nginx, Apache ya da IIS gibi bir web sunucusu, ziyaretçileri birden fazla sunucuya dağıtan bir yük dengeleyici (load balancer) ya da bir CDN (siteyi dünyanın birçok noktasından sunan içerik dağıtım ağı).
  2. Öndeki sunucu isteği kabul edip edemeyeceğine bakar. Uygulama çalışıyor mu, boşta bir çalışan süreç var mı, kuyruk yeterince kısa mı, bakım modu açık mı, bu adres istek sınırını aştı mı?
  3. Kontrollerden biri başarısız olur; örneğin uygulama havuzu durmuştur ya da bakım anahtarı açıktır.
  4. Sunucu 503 döner; çoğu zaman yanında Retry-After ve kısa bir açıklama sayfası vardır.
  5. Tarayıcınız o sayfayı gösterir; 503 sayfasız geldiyse kendi hata sayfasını açar.

503 sayfası nasıl görünür, kim gönderir?

Sayfadaki ifade, isteği hangi programın geri çevirdiğini söyler; bu da site sahibine nereye bakacağını gösterir.

Ne görürsünüz?Kim gönderir?Genelde ne anlama gelir?
503 Service Temporarily Unavailable, altında nginxnginxBir istek sınırı ya da bakım kuralı
Service Unavailable, …due to maintenance downtime or capacity problemsApache httpdÇoğu zaman Apache arkadaki uygulamaya ulaşamamış
503 Service Unavailable, No server is available to handle this request.HAProxy (bir yük dengeleyici)Arkasındaki bütün sunucular kapalı ya da dolu
Error 503 Backend fetch failed, Guru Meditation ve bir XIDVarnish (bir önbellek sunucusu)Sayfayı sitenin sunucusundan alamamış
Service Unavailable, HTTP Error 503. The service is unavailable.Windows Server'daki IISUygulama havuzu durmuş ya da aşırı yüklenmiş
"Planlanmış bakım çalışması yapıldığından site kullanılamıyor. Birkaç dakika sonra yeniden bakın."WordPressBir güncelleme sürüyor ya da yarıda kalmış
"Bu sayfa çalışmıyor", "HTTP ERROR 503"Chrome503 boş bir sayfayla gelmiş

Sunucu metinleri her programın kendi kaynak kodundan ya da belgelerinden alındı; WordPress satırı, WordPress'in resmî Türkçe çevirisidir. Son satırı, kendi bilgisayarımızda çalıştırdığımız küçük bir test sunucusuyla doğruladık: Türkçe arayüzlü Chromium 145, boş bir 503 için "Bu sayfa çalışmıyor", "localhost şu anda bu isteği işleme alamıyor.", "HTTP ERROR 503" satırlarını ve bir Yeniden Yükle düğmesini gösterdi; bakım sayfası taşıyan bir 503'te ise o sayfayı açtı.

500, 502, 503 ve 504 arasındaki fark nedir?

Dördü de sunucu hatasıdır, ama yalnız 503 geçici olarak tanımlanır; diğer üçü bir şey düzeltilene kadar süren bir arızayı anlatır.

KodAdıNe oldu?Tasarım gereği geçici mi?
500Internal Server ErrorUygulama bir hatayla karşılaştıHayır
502Bad GatewayAğ geçidi bozuk bir cevap aldı ya da hiç alamadıHayır
503Service UnavailableSunucu şimdilik iş kabul etmiyorEvet
504Gateway TimeoutAğ geçidi cevabı çok uzun beklediHayır

Ağ geçidi (gateway), istekleri arkasındaki uygulamaya ileten öndeki sunucudur. Pratikte kodlar iç içe geçer: aynı durmuş uygulama nginx'in arkasında 502, Apache ya da HAProxy'nin arkasında 503 olarak görünür. Ağ geçidi tarafını 502 Bad Gateway Hatası Nedir, Nasıl Çözülür? yazısında anlattık.

503 hatasına ne yol açar?

Sunucu, isteği geri çevirmenin denemekten ve başarısız olmaktan daha iyi olduğuna karar verdiğinde 503 gönderir. En sık görülen tetikleyiciler:

  • Ani trafik artışı. Bir indirim, bir haber ya da bir bot dalgası, çalışan süreç sayısından fazla istek getirir; fazlasını geri çevirmek, sunucunun herkes için çökmesini önler.
  • Planlı bakım. Site sahibi bir bakım sayfası açmıştır ya da yazılım bunu güncelleme sırasında kendisi yapmıştır. WordPress, güncelleme sürerken her isteğe Retry-After: 600 ile birlikte 503 döner.
  • Durmuş bir uygulama. Sayfaları hazırlayan program çökmüş ya da hiç başlamamıştır. IIS'te bu, uygulama havuzunun (bir siteyi çalıştıran süreçlerin grubu) durması olarak görünür.
  • Yük dengeleyicinin arkasında sağlıklı sunucu kalmaması. HAProxy, kullanılabilir sunucu kalmadığında 503 döner. Bütün sunucular bağlantı sınırına ulaştığında istekler kuyrukta bekler; timeout queue ayarındaki süreyi aşan istek de 503 alır.
  • Hız sınırı. nginx'in istek sınırlayıcısı, aksi ayarlanmadıkça sınırı aşan istekleri 503 ile geri çevirir (limit_req_status, İngilizce). Yalnız tek bir ziyaretçiye ya da tek bir betiğe çıkan 503, çoğu zaman bir kesinti değil, bir sınırdır.
  • Uygulamanın dayandığı bir hizmetin çökmesi. Bazı uygulamalar, veritabanlarına ya da dayandıkları başka bir hizmete ulaşamadıkları sürece 503 döner.

Ziyaretçi olarak ne yapabilirsiniz?

  1. Birkaç dakika bekleyin, sonra sayfayı bir kez yenileyin. Sayfa bir süre veriyorsa (WordPress'in "Birkaç dakika sonra yeniden bakın" uyarısı gibi) ona uyun. Birkaç saniyede bir yenilemek yalnız yükü artırır.
  2. Sitenin herkes için kapalı olup olmadığına bakın. Siteyi telefonunuzda mobil veriyle açın. Büyük hizmetler kesintileri bir durum sayfasında duyurur: Apple'ınki Sistem Durumu sayfasıdır, Microsoft'unki hizmet durumu (service health status) sayfası.
  3. VPN'inizi ya da proxy'nizi kapatın. Sayfa onlarsız açılıyorsa 503 ya VPN sunucusundan gelmiştir ya da site o adresten gelen trafiği sınırlıyordur.
  4. Hatayı yalnız siz görüyorsanız yavaşlayın. Yenilemeyi bırakın, indirme yöneticilerini duraklatın ve sekmeleri kendiliğinden yenileyen bir uzantı olup olmadığına bakın. Hız sınırı genellikle birkaç dakika içinde kalkar.
  5. Siteye bildirin; saati, adresi ve sayfada yazan her şeyi, örneğin Varnish'in XID numarasını ekleyin.

Önbelleği temizlemek nadiren işe yarar: tarayıcı, sunucu açıkça izin vermedikçe bir 503'ü sonradan kullanmak üzere saklamaz; her yenileme sunucuya yeniden sorar.

Site sizinse: 503 hatası nasıl düzeltilir?

Önce cevabı hangi katmanın verdiğini bulun: sayfadaki ifade, yukarıdaki tablo ve yanıttaki server başlığı çoğu zaman bunu söyler.

  1. Açık kalmış bir bakım anahtarı arayın. WordPress güncelleme sırasında sitenin kök klasörüne bir .maintenance dosyası koyar ve dosya on dakikayı doldurduğunda bakımı bitmiş sayar; dosyayı silmek bakımı hemen bitirir. Web sunucunuzda ya da CDN'inizde tanımlı bir bakım kuralını ise elle kaldırmanız gerekir.
  2. Uygulamanın çalıştığından emin olun. Hizmeti ya da konteyneri yeniden başlatın ve uygulamanın kaydında çökmenin nedenini okuyun. Apache, arkasındaki program bağlantı kabul etmediğinde hata kaydına AH01114: HTTP: failed to make connection to backend yazar.
  3. IIS'te uygulama havuzuna bakın. IIS Yöneticisi'nde Application Pools (Uygulama Havuzları) bölümünü açın: Stopped (Durduruldu) durumundaki bir havuz her isteğe 503 döner. Hızlı hata koruması (rapid-fail protection), varsayılan olarak beş dakika içinde beş çökme olduğunda havuzu durdurur; nedenini Sistem olay günlüğü söyler. Microsoft'un IIS durum kodu listesi, durmuş havuz için 503.0'dan dolu FastCGI kuyruğu için 503.4'e kadar alt kodları açıklar.
  4. Windows'ta HTTP.sys kaydını okuyun. IIS'e ulaşmadan geri çevrilen istekler %SystemRoot%\System32\LogFiles\HTTPERR klasörüne yazılır; satırın son alanı AppOffline, Disabled ya da QueueFull gibi nedeni verir.
  5. Yük dengeleyicinin sağlık kontrollerini (health check) test edin. Uygulama çalışırken başarısız olan bir kontrol, bütün sunucuları devreden çıkarır; HAProxy de o zaman kullanılabilir sunucu kalmadığını söyler.
  6. Kapasite ekleyin ya da gerçek kişilere takılan sınırları gevşetin. 503'ler yoğun saatlerde çıkıyorsa çalışan süreç ekleyin, sık açılan sayfaları önbellekten sunun ya da sunucu ekleyin. Ofisler ya da mobil kullanıcılar hız sınırınıza takılıyorsa ani artış payını (burst) yükseltin ve sınır aşımında 429 döndürmeyi düşünün.

Birkaç önemli sayfayı dakikada bir yükleyen bir izleme aracı, sorunu müşterilerden önce size bildirir. 503'ün yalnız bir bölgede, örneğin tek bir CDN noktasına yönlendirilen ziyaretçilerde çıkıp çıkmadığını görmek için aynı kontrolü birkaç ülkedeki Residential Proxy çıkışlarından yapın.

SEO'ya zarar vermeden site bakıma nasıl alınır?

Bakım sırasında 503 ve Retry-After başlığıyla cevap verin. 200 OK ile gönderilen bir "yakında döneceğiz" sayfası, arama motorlarına bakım metninin sayfanın asıl içeriği olduğunu söyler; 404 ise sayfanın artık olmadığını.

Google'ın bir web sitesini geçici olarak duraklatma rehberi, bir-iki günlük acil kapanışlar için 503 durum koduyla bilgilendirici bir sayfa önerir. Retry-After değerine tahmini bir tarih ya da süre yazılmasını ister ve bu yöntemi en fazla birkaç günlük bir önlem olarak görür. Aynı rehber, tarama botlarına hangi sayfaları alabileceklerini söyleyen robots.txt dosyası için asla 503 döndürülmemesi konusunda da uyarır, çünkü bu bütün taramayı durdurur.

Google'ın tarama botları, site 5xx hataları döndürdüğünde yavaşlar ve sayfalar normal cevap vermeye başladığında kademeli olarak yeniden hızlanır; sürekli sunucu hatası veren adresler ise sonunda dizinden çıkarılır. Bakım sayfasını güncellediğiniz uygulamadan değil, web sunucusundan statik bir dosya olarak sunun.

İleri seviye: 503'ü ve Retry-After başlığını curl ile görün

Bu bölüm komut satırına alışkın okurlar içindir. curl, Windows 10, Windows 11 ve macOS'ta hazır gelir; Windows PowerShell'de curl.exe yazın. Küçük Node.js test sunucumuz her isteğe 503, Retry-After: 120 ve tek satırlık bir bakım sayfasıyla cevap veriyor; onu Windows 11'deki curl 8.22.0 ile çağırdık:

bash
curl -sSi http://localhost:8503/
text
HTTP/1.1 503 Service Unavailable
Retry-After: 120
Content-Type: text/html; charset=utf-8
Cache-Control: no-store
Date: Sun, 15 Nov 2026 15:44:44 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

<!doctype html><title>Down for maintenance</title><h1>Down for maintenance</h1><p>Back in about two minutes.</p>

-i, durum satırını ve başlıkları sayfanın üstüne yazar; -sS ilerleme göstergesini gizler ama hata mesajlarını korur. Retry-After: 120 istemcilerden iki dakika beklemelerini ister; Cache-Control: no-store ise tarayıcıların ve önbelleklerin hatayı saklamasını önler. Sitenizin gerçekte ne gönderdiğini görmek için aynı komutu kendi sitenizin adresiyle çalıştırın.

503 hatası scraper'lar ve proxy kullananlar için ne demek?

Bir betik için 503, "sonra gel" demektir ve doğru tepki tam olarak bunu yapmaktır. Retry-After varsa o kadar bekleyin ve yalnız hata veren isteği değil, o siteye giden bütün istekleri durdurun. Başlık yoksa üstel geri çekilme (exponential backoff) uygulayın, yani bekleme süresini her denemede ikiye katlayın: bir saniye, sonra iki, dört ve sekiz; her beklemeye biraz rastgelelik katın ve birkaç denemeden sonra durun. Ardından eşzamanlı istek sayısını düşürün.

Yalnız crawler'ınız hızlandığında ortaya çıkan bir 503, pratikte bir hız sınırıdır. Hata kesilene kadar yavaşlayın; aynı tempoyu korumak için IP adresi değiştirmek, sitenin sizden istediğini yok saymaktır.

Proxy kullanıyorsanız önce 503'ü kimin gönderdiğine bakın. 503'ü proxy'nin kendisi ürettiyse istek siteye hiç ulaşmamıştır ve curl CONNECT tunnel failed, response 503 yazar; yaygın bir proxy sunucusu olan Squid, sitenin adını çözemediğinde bunu yapar. Sitenin 503'ü ise çalışan bir tünelden, sitenin kendi sayfasıyla gelir; bu yüzden önce adresi proxy'siz deneyin.

Gövdesinde bakım duyurusu yerine bir doğrulama (challenge) sayfası taşıyan 503, bir kesinti değil, trafiğiniz hakkında verilmiş bir karardır. İkisini nasıl ayıracağınızı ve Retry-After başlığını okuyan, test edilmiş bir yeniden deneme fonksiyonunu Scraping'de HTTP Hata Kodları: 403, 407, 429 ve 503 yazısında bulabilirsiniz.

503 hatasıyla nerelerde karşılaşırsınız?

  • OneDrive ya da SharePoint gibi bulut uygulamalarında, hizmetin kendi tarafındaki bir arıza sırasında.
  • Bilet satışlarında, ürün lansmanlarında ve sınav sonucu sayfalarında, açılışın ilk dakikalarında.
  • Bir eklenti, tema ya da çekirdek güncellemesi sürerken WordPress sitelerinde.
  • Kendi betiklerinizde, sitenin hız sınırı 429 yerine 503 kullanıyorsa.

Sık yapılan hatalar

  • Birkaç saniyede bir yenilemek. Her yenileme, zaten iş kabul etmeyen bir sunucuya giden bir istek daha demektir.
  • Site sahipleri: bakım sayfasını 200 durum koduyla sunmak. Arama motorları bunu sayfanın içeriği sanır.
  • Site sahipleri: 503'ü haftalarca sürdürmek. Google bunu birkaç günlük bir önlem olarak görür.
  • Site sahipleri: robots.txt isteğine 503 dönmek. Bütün tarama durur.
  • Betikler: Retry-After başlığını yok saymak ya da sınırı aşmak için IP değiştirmek.

Karar rehberi

DurumunuzNe yapmalısınız?
Tek bir sitede 503 sayfası, diğer siteler çalışıyorBirkaç dakika bekleyin, bir kez yenileyin
Mobil veriyle de açılmıyorSite kapalı; durum sayfasına bakın
Sayfa planlı bakımdan söz ediyorVerdiği saatte yeniden gelin
Hatayı çok sayıda yenilemeden sonra yalnız siz alıyorsunuzBirkaç dakika durun, uzantılara bakın
VPN kapalıyken açılıyorBu site için VPN'i kapalı bırakın
WordPress siteniz bakım modunda takılı kaldıKök klasördeki .maintenance dosyasını silin
IIS siteniz, havuz Stopped (Durduruldu) görünüyorOlay günlüğündeki çökmeyi giderin, havuzu başlatın
Betiğiniz Retry-After ile 503 alıyorBütün site için o kadar bekleyin, eşzamanlılığı düşürün

Sıkça sorulan sorular

503 Service Unavailable hatası benden mi kaynaklanıyor?

Genellikle hayır: sunucu aşırı yüklenmiştir, bakımdadır ya da bilerek iş kabul etmiyordur. İstisna hız sınırıdır. Bir sayfayı defalarca yeniliyorsanız ya da bir betik çalıştırıyorsanız site, siz yavaşlayana kadar 503 dönebilir.

503 hatası ne kadar sürer?

Nedene bağlıdır. Ani bir trafik artışı ya da yeniden başlatma saniyeler ya da dakikalar içinde geçer; planlı bakım, iş bitene kadar devam eder. Retry-After başlığı varsa sunucunun kendi tahminini verir. Kimsenin fark etmediği bir çökme ise saatlerce sürebilir.

OneDrive, SharePoint ya da Apple hizmetleri neden 503 Service Unavailable hatası veriyor?

Bu uygulamalar her şeyi hizmetin sunucularından çeker; bir arıza ya da bakım sırasında bu sunucular 503 döner. Sorun hizmetin tarafındadır: Microsoft'un hizmet durumu sayfasına ya da Apple'ın Sistem Durumu sayfasına bakın ve daha sonra yeniden deneyin.

No server is available to handle this request ne demek?

HAProxy'nin yerleşik 503 sayfasıdır. HAProxy, sitenin önünde duran bir yük dengeleyicidir; bu mesaj, arkasındaki bütün sunucuların kapalı, sağlık kontrolünden geçemeyen ya da fazla meşgul olduğunu söyler. Bunu yalnız sitenin yöneticileri düzeltebilir.

Error 503 Backend fetch failed ne demek?

Birçok sitenin önünde duran önbellek sunucusu Varnish'in varsayılan hata sayfasıdır: Varnish sayfayı sitenin kendi sunucusundan alamamıştır. Guru Meditation başlığının altındaki XID, yöneticilerin isteği kayıtlarda bulmasına yarar.

503 hatası sitenin Google sıralamasına zarar verir mi?

Kısa süren bir 503 vermez; Google'ın tarama botları yavaşlar ve daha sonra yeniden gelir. Planlı bakım için doğru kodun 503 olmasının nedeni de budur. Sayfalar günlerce 503 dönmeye devam ederse Google onları sonunda dizinden çıkarır.

Özet

503 Service Unavailable, sunucuya ulaşıldığını ama sunucunun aşırı yük, bakım ya da bir sınır yüzünden şimdilik iş kabul etmediğini gösterir; Retry-After başlığı ne kadar süreceğini söyleyebilir. Ziyaretçiler bekler, bir kez yeniler ve durum sayfalarına bakar. Site sahipleri cevabı hangi katmanın verdiğini bulur ve durmuş uygulamayı, boşalmış sunucu havuzunu, fazla sıkı sınırı ya da unutulmuş bakım anahtarını düzeltir. Betikler Retry-After başlığına uyar ve yavaşlar. İzleme ve veri toplama için proxy türlerini proxy sayfamızda karşılaştırabilirsiniz.

ChatGPT'ye sorClaude'a sor