BugFix 5 (NGINX) – 504: Gateway Timeout Hatası Çözümü


Merhabalar bu yazımda NGINX Web Server’ı için aldığımız 504: Gateway Timeout hatasının olası çözümlerinden bahsediyor olacağım.

Bu hatanın nedeni istek zaman aşımı süresinin bir şekilde aşılmasıdır. Çözümü zaman aşımı süresinin artırılmasıdır. İstek zaman aşımını yöneten 3 parametre vardır.

proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;

Okuma Zaman Aşımı

Bağlantı İsteği Zaman Aşımı

İstek Gönderme Zaman Aşımı

NGINX’in default zaman aşımı süresi 60 saniyedir. Biz şimdi bunu 1 gün gibi bir değer yaparak oluşabilecek tüm olası hataların önüne geçmeye çalışacağız.

1 NGINX Kurulu Sunucuya Bağlan

2 Root Yetkisi Al

Aşağıdaki komut ile root yetkisi alıyoruz.

sudo -i

3 NGINX Config Dosyasını Aç

NGINX config ayarlarının olduğu dosyası Nano gibi bir editör yardımı ile açıyoruz.

Config dosyasını aşağıdaki adreste bulabilirsiniz.

nano /etc/nginx/nginx.conf

Bu komutu çalıştırdığınızda aşağıdaki gibi bir dosya açılmış olmalı. İçeriği sürümünüze ve daha önce yaptığınız işlemlere göre değişik görünebilir.

Siz işaretlediğim http blogunu bulunuz.

4 Yeni Zaman Aşımı Değerini Gir

Aşağıda verdiğim komut satırı bağlantı istek zaman aşımı süresini yönetir.

proxy_read_timeout 1d;
proxy_connect_timeout 1d;
proxy_send_timeout 1d;

Yukarıda yazdığı gibi sadece 300 yazar bırakırsak bu saniye cinsinden bir değerdir. Zaman aşımı değerini 300 saniye yani 5 dakika yapmış olursunuz. Ancak daha büyük değerler vermek isterseniz örneğin 1 gün gibi bunun için 1d ifadesini kullanabilirsiniz.

Ctrl+X ve Y komutlarını kullanarak dosyamızı kaydediyoruz.

Sonrasında değişikliklerin sunucu seviyesinde görülebilmesi için NGINX servisini yeniden başlatmamız gerekir.

6 NGINX Dosyasında Syntax Hatası Kontrolünü Yap

Öncelikle bir yazım hatası yaptık mı diye aşağıdaki komutu çalıştıralım.

sudo nginx -t

Aradığım değerler aşağıdaki gibi Ok ve Successful.

7 NGINX Servisini Yeniden Başlat

Bir sorunumuz olmadığına göre şimdi aşağıdaki komutla NGINX servisini yeniden başlatalım.

sudo systemctl restart nginx

8 NGINX Servisi Aktif mi Kontro Et

Servisin active olup olmadığını aşağıdaki komutla kontrol edebilirsiniz.

sudo systemctl status nginx

NGINX servisimiz yeni ayarlarıyla yeniden ayakta. Artık bağlantı isteği zaman aşımını 1 gün olarak ayarlamış olduk.

Hepsi bu kadardı.

Görüşmek üzere.

Exit mobile version