504 Gateway Time Out, ağ geçidi görevi gören sunucunun arka uç sunucudan belirlenen süre içinde yanıt alamadığını bildiren HTTP durum kodudur. İstek arka uca ulaşmıştır ve işlenmeye başlamıştır; işlem tanımlı süre sınırını aştığı için ön uç sunucu beklemeyi bırakır ve bağlantıyı keser. Hata ziyaretçinin bağlantısından değil, sunucu tarafındaki işlem süresinden kaynaklanır.
Bu rehberde 504 Gateway Time Out hatasının anlamını, 502 koduyla farkını ve oluşma nedenlerini açıklıyoruz. Ardından hatanın kaynağını sunucu günlüklerinden bulmayı, Nginx ve PHP tarafındaki zaman aşımı ayarlarını, WordPress sitelerine özgü adımları ve hatanın kalıcı olarak nasıl önleneceğini ele alıyoruz. Son bölümlerde süre artırmanın neden yeterli bir çözüm olmadığını ve barındırma türünün hata sıklığına etkisini anlatıyoruz.
504 Gateway Time Out Ne Demek?
504 Gateway Time Out, ağ geçidi görevi gören sunucunun arka uç sunucudan belirlenen süre içinde yanıt alamadığını bildiren HTTP durum kodudur. Kodun Türkçe karşılığı “ağ geçidi zaman aşımı” biçimindedir. Sunucular arasındaki bağlantı kurulmuştur, istek iletilmiştir, yanıt süresi dolmuştur. Kod 5xx sınıfına aittir ve sorumluluk barındırma altyapısındadır.
Hata tarayıcıda “504 Gateway Time Out”, “HTTP Error 504”, “Gateway Timeout” veya sunucu yazılımının adıyla birlikte “504 Gateway Time-out nginx” biçiminde görüntülenir. Uygulama düzeyinde yapılan çağrılarda ise “the remote server returned an error 504 gateway timeout” mesajı döner.

504 ile 502 Hatası Arasındaki Fark Nedir?
504 ve 502 kodları aynı katmanda oluşur ve sıklıkla birbirinin yerine kullanılır. İki kodun karşılaştırması aşağıdaki tabloda verilmiştir.
| Ölçüt | 502 Bad Gateway | 504 Gateway Time Out |
|---|---|---|
| Arka uçtan yanıt | Geldi, fakat geçersiz | Hiç gelmedi |
| Süre durumu | Süre dolmadı | Süre doldu |
| Tipik neden | Servis çöktü, bağlantı reddedildi | İşlem uzun sürdü |
| İlk bakılacak yer | Servis durumu | Zaman aşımı değerleri ve sorgu süresi |
Ayrım tek cümleyle özetlenir: 502 kodunda arka uçtan geçersiz bir yanıt gelir, 504 kodunda hiçbir yanıt gelmez. Servis durumu ve bağlantı reddi kaynaklı sorunlar için 502 Bad Gateway hatası rehberi izlenir.
504 Gateway Time Out Hatası Neden Oluşur?
504 Gateway Time Out hatasının başlıca nedenleri aşağıda listelenmiştir:
- Uzun süren veritabanı sorguları
- Yetersiz zaman aşımı değerleri
- Ağır eklentiler ve toplu işlemler
- Sunucu kaynaklarının yetersizliği
- Harici servis çağrılarının yanıt vermemesi
- Disk okuma yazma darboğazı
Uzun Süren Veritabanı Sorguları
Dizinlenmemiş tablolar üzerinde çalışan sorgular kayıt sayısı arttıkça yavaşlar ve zaman aşımı sınırını aşar. Yavaş sorguları tespit etmek için MySQL yavaş sorgu günlüğü etkinleştirilir:
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;Eşik değeri 2 saniye olarak tanımlandığında bu süreyi aşan sorgular günlüğe yazılır. Günlükteki sorgular EXPLAIN komutuyla incelenir ve eksik dizinler eklenir. Veritabanı katmanının yapısı ve ayrı sunucuya taşınması veritabanı sunucusu rehberinde ele alınmıştır.

Yetersiz Zaman Aşımı Değerleri
Bir isteğin geçtiği her katman kendi süre sınırını uygular. En düşük değere sahip katman bağlantıyı ilk kesen taraf olur. Katmanların varsayılan ve önerilen değerleri aşağıdaki tabloda verilmiştir.
| Katman | Direktif | Varsayılan | Önerilen |
|---|---|---|---|
| Nginx | proxy_read_timeout | 60 saniye | 180 saniye |
| Nginx FastCGI | fastcgi_read_timeout | 60 saniye | 180 saniye |
| PHP | max_execution_time | 30 saniye | 120 saniye |
| PHP-FPM | request_terminate_timeout | 0 (sınırsız) | 180 saniye |
| MySQL | wait_timeout | 28800 saniye | 600 saniye |
Ağır Eklenti ve Toplu İşlemler
İçe aktarma, yedek alma, toplu ürün güncelleme ve rapor üretme işlemleri tek istekte binlerce kayda dokunur. Bu işlemler tarayıcı üzerinden başlatıldığında istek süresi hızla dolar. Toplu işlemlerin arka plan kuyruğuna alınması ya da komut satırından çalıştırılması süre sınırını devre dışı bırakır.
Sunucu Kaynaklarının Yetersizliği
CPU kullanımı sürekli %90 üzerinde seyreden bir sunucuda her istek kuyrukta bekler. Bekleme süresi işlem süresine eklenir ve toplam süre sınırı aşar. Disk okuma yazma darboğazı da aynı sonucu üretir; NVMe SSD kullanan sistemlerde disk kaynaklı bekleme süresi klasik SSD’ye göre belirgin biçimde düşer.
Harici API Çağrılarının Yanıt Vermemesi
Ödeme altyapısı, kargo entegrasyonu ve pazaryeri bağlantısı gibi harici servis çağrıları uygulamanın kendi süresini tüketir. Çağrı yapılan servis yanıt vermediğinde uygulama beklemede kalır ve süre dolar. Bu durumda .NET tabanlı uygulamalar “the remote server returned an error 504 gateway timeout” mesajını üretir. Her harici çağrı için ayrı bir süre sınırı tanımlanması sorunu ortadan kaldırır.
504 Hatasının Kaynağı Loglardan Nasıl Bulunur?
504 hatasının kaynağı sunucu hata günlüğündeki tek satırda yer alır. Kaynağı bulmak için aşağıdaki adımlar uygulanır:
- Hata günlüğünü açın:
tail -n 100 /var/log/nginx/error.log - Zaman aşımı satırlarını süzün:
grep "timed out" /var/log/nginx/error.log - Satırdaki
upstreamadresini not alın - Yavaş sorgu günlüğünü aynı saat aralığı için inceleyin
- PHP-FPM yavaş istek günlüğünü kontrol edin
Tipik günlük satırı aşağıdaki biçimdedir:
upstream timed out (110: Connection timed out) while reading response header from upstream, client: 203.0.113.5, server: alanadi.com, request: "POST /wp-admin/admin-ajax.php HTTP/1.1"
Satırdaki alanlar sırasıyla şu bilgiyi verir: hata türü zaman aşımıdır, sistem hata numarası 110’dur, istek başlığı okunurken kesilmiştir, isteği yapan IP adresi ve çağrılan adres belirtilmiştir. Çağrılan adres hangi işlemin uzun sürdüğünü doğrudan gösterir.
Nginx’te 504 Gateway Time Out Hatası Nasıl Çözülür?
Nginx tarafındaki 504 hatası, vekil ve FastCGI zaman aşımı değerlerinin işlem süresine göre yükseltilmesiyle çözülür. Çözüm adımları aşağıda sıralanmıştır:
- Yapılandırma dosyasını açın:
/etc/nginx/nginx.conf - Zaman aşımı direktiflerini
httpbloğuna ekleyin - FastCGI kullanılıyorsa ilgili direktifleri site yapılandırmasına ekleyin
- Yapılandırmayı sınayın:
nginx -t - Yeniden yükleyin:
systemctl reload nginx
proxy_connect_timeout 60s;
proxy_send_timeout 180s;
proxy_read_timeout 180s;
fastcgi_connect_timeout 60s;
fastcgi_send_timeout 180s;
fastcgi_read_timeout 180s;
send_timeout 180s;Değerler yalnızca uzun süren belirli bir adres için gerekiyorsa location bloğu içinde tanımlanır ve site genelinde süre uzatılmamış olur. Direktif hiyerarşisi ve blok yapısı Nginx rehberinde açıklanmıştır.
PHP Tarafında Zaman Aşımı Süresi Nasıl Artırılır?
PHP tarafındaki süre sınırı üç ayrı değerin uyumlu şekilde yükseltilmesiyle artırılır. Değerlerden biri düşük kaldığında hata sürer. php.ini dosyasında yapılan tanım aşağıdadır:
max_execution_time = 120
max_input_time = 120
memory_limit = 256MPHP-FPM kullanılan sistemlerde havuz yapılandırmasına request_terminate_timeout = 180 satırı eklenir. Bu değer Nginx tarafındaki süreye eşit veya ondan büyük olmalıdır; küçük kaldığında PHP süreci Nginx beklemeye devam ederken sonlandırılır ve 502 hatası üretilir. Sürüm ve uzantı yönetimi PHP hosting rehberinde ele alınmıştır.
WordPress Sitelerinde 504 Hatası Nasıl Düzeltilir?
WordPress sitelerindeki 504 hatası çoğunlukla arka planda çalışan zamanlanmış görevlerden ve ağır sorgu üreten eklentilerden kaynaklanır. Düzeltme adımları aşağıda sıralanmıştır:
- Eklentileri toplu olarak devre dışı bırakın ve siteyi yenileyin
- Eklentileri tek tek etkinleştirerek uzun süren isteği üreteni belirleyin
- WordPress zamanlanmış görev sistemini devre dışı bırakın ve sunucu görevine bağlayın
- Önbellek eklentisi kurarak veritabanına giden istek sayısını düşürün
- Otomatik güncelleme ve yedekleme işlemlerini yoğun saatlerin dışına alın
Zamanlanmış görev sistemini devre dışı bırakmak için wp-config.php dosyasına aşağıdaki satır eklenir:
define('DISABLE_WP_CRON', true);Ardından görev sunucu tarafında beş dakikalık aralıkla çalıştırılır. Önbellek katmanlarının çalışma mantığı ve sıralaması cache katmanları rehberinde anlatılmıştır.
504 Hatası Kalıcı Olarak Nasıl Önlenir?
504 Gateway Time Out hatasının tekrarını önleyen önlemler aşağıda sıralanmıştır:
- Sorguları optimize edin. Dizin eklenmeyen tablolarda kayıt sayısı arttıkça hata kaçınılmaz olarak geri döner.
- Önbellekleme kurun. Önbelleksiz sistemde aynı ağır sorgu her ziyaretçi için yeniden çalışır.
- Uzun işlemleri kuyruğa alın. Toplu işlem tarayıcı üzerinden çalıştırıldığında süre sınırı her seferinde dolar.
- Kaynakları yükseltin. CPU ve bellek sürekli sınırda çalışıyorsa süre ayarı sonucu değiştirmez.
- İzleme kurun. Yanıt süresi izlenmediğinde yavaşlama hata haline gelene kadar fark edilmez.
Zaman Aşımı Süresini Artırmak Doğru Çözüm müdür?
Hayır, zaman aşımı süresini artırmak hatayı çözmez, yalnızca geciktirir. Süre uzatıldığında ziyaretçi hata sayfası yerine uzun bir bekleme yaşar ve sayfa 120 saniye sonra açılır. Kullanıcı deneyimi ve arama motoru değerlendirmesi açısından sonuç daha kötüdür.
Süre artırımı yalnızca geçici bir tedbir olarak uygulanır; asıl çözüm işlemin süresini kısaltmaktır. Sorgu optimizasyonu, önbellekleme ve kuyruk sistemi işlem süresini doğrudan düşürür. Süre artırımının tek meşru kullanımı, doğası gereği uzun süren belirli işlemler için tanımlanan istisnalardır.

Barındırma Türü 504 Hatası Sıklığını Nasıl Etkiler?
Barındırma türü, zaman aşımı değerlerini değiştirme yetkisini ve kaynak yeterliliğini belirler. Üç barındırma türünün karşılaştırması aşağıdaki tabloda verilmiştir.
| Ölçüt | Paylaşımlı hosting | Sanal sunucu | Yönetilen sunucu |
|---|---|---|---|
| Süre limiti değiştirme | Sınırlı | Tam yetki | Tam yetki, ekibimiz uygular |
| Kaynak izolasyonu | Kısmi | Tam | Tam |
| Veritabanı ayrıştırma | Yok | Var | Var |
| Tipik 504 nedeni | Komşu hesap yükü | Ağır sorgu | Harici servis gecikmesi |
Paylaşımlı barındırmada süre değerleri sağlayıcı tarafından belirlenir ve tek hesap için yükseltilmez. Sanal sunucuda tüm katmanlar doğrudan yapılandırılır. Verimin olarak sunduğumuz sanal sunucularda NVMe SSD disk kullanıyoruz ve İstanbul lokasyonlu altyapımızla Türkiye hedefli projelerde ağ gecikmesini en aza indiriyoruz. Ağır sorgu üreten projeler için sanal sunucu paketlerine geçiş yapılır.
504 Hatası Arama Motoru Taramasını Etkiler mi?
Evet, 504 hatası Googlebot’un tarama hızını düşürür. Googlebot ardışık taramalarda zaman aşımı aldığında sunucuyu yüklü kabul eder ve istek sıklığını azaltır. Hata birkaç gün sürdüğünde etkilenen sayfalar arama sonuçlarından geçici olarak çıkarılır. Sunucu yanıt süresinin sayfa deneyimi metriklerine yansıması Core Web Vitals rehberinde ele alınmıştır.
504 Hatası İnternet Bağlantısından Kaynaklanır mı?
Hayır, 504 hatası ziyaretçinin internet bağlantısından kaynaklanmaz. Kod sunucu tarafında üretilir ve bağlantının kurulduğunu kanıtlar. Tek istisna kurumsal ağlardaki vekil sunucuların kendi süre sınırlarını uygulamasıdır; bu durumda aynı site farklı bir ağdan açılır.
cPanel Üzerinden Zaman Aşımı Süresi Değiştirilir mi?
Evet, cPanel üzerinden PHP süre değerleri MultiPHP INI Editor bölümünden değiştirilir. Bölüm açılır, alan adı seçilir ve max_execution_time ile max_input_time değerleri güncellenir. Web sunucusu tarafındaki vekil süresi paylaşımlı barındırmada değiştirilmez. Panel araçları ve yetki sınırları cPanel hosting rehberinde anlatılmıştır.
504 Hatası Sürekli Tekrarlıyorsa Ne Yapılmalı?
Tekrar eden 504 hatası uygulama tarafındaki bir performans sorununa işaret eder ve sorgu düzeyinde inceleme gerektirir. Destek talebi açarken aşağıdaki dört bilgiyi iletmeniz inceleme süresini kısaltır:
- Hatanın görüldüğü tam adres
- Hatanın oluştuğu tarih ve saat aralığı
- O sırada yürütülen işlemin türü
- Yavaş sorgu günlüğünün ilgili bölümü
Verimin olarak sunucularınızdaki yavaş sorguları inceliyor, zaman aşımı ve kaynak değerlerini projenizin yüküne göre yeniden yapılandırıyoruz. Hatanın sürmesi durumunda teknik destek ekibimize başvurabilirsiniz.

