Nadiren de olsa, bir web sitesine büyük dosyalar yüklerken Nginx web sunucusu tarafından 413 Request Entity Too Large (413 İstek Varlığı Çok Büyük) hatası döndürülür. Bu hata, sunucunun izin verdiğinden çok daha büyük bir dosya yüklemeye çalıştığınızda ortaya çıkar. Daha sonra 413 Request Entity Too Large hatasının açıklamasını ve Nginx web sunucusu tarafında düzeltme yöntemlerini ele alacağız.
Hata 413 veya Request Entity Too Large, "Request Entity Too Large" anlamına gelir veya basit bir deyişle aktarılan veri miktarı çok büyüktür. Bu hata, istek gövdesi (veya büyük dosya) çok büyük olduğu için sunucu bir isteği işleyemediğinde döndürülür. Hatanın ekran görüntüsü aşağıda gösterilmiştir:
Varsayılan olarak, Nginx'in 1 MB'lık bir istek gövdesi boyutu sınırı vardır. Talep ayarlanan değeri aşarsa 413 Request Entity Too Large hatasını görürsünüz.
413 "Request Entity Too Large" hatası, bir web sunucusu, istek gövdesi boyutu sunucuda ayarlanan izin verilen maksimum boyutu aştığı için bir isteği reddettiğinde ortaya çıkar. Bu, istekte gönderilen verilerin (örneğin, sunucuya bir dosya yüklerken) işlenemeyecek kadar büyük olduğu anlamına gelir.
Sorunu çözün:
Talebi gönderdiğiniz sunucuyu kontrol etmiyorsanız, 413 "Request Entity Too Large" hatasını çözme konusunda yardım almak için sunucu yöneticinize veya teknik desteğe başvurun.
413 hatasını düzeltmek için izin verilen sınırı artırmalısınız. client_max_body_size
seçeneğini kullanarak istek gövdesinin boyutunu ve dolayısıyla yüklenen dosyaların boyutunu artırabilirsiniz. Bu seçenek /etc/nginx/nginx.conf
yapılandırma dosyasındaki http, sunucu veya konum yönergelerinde veya web sitesi yapılandırma dosyasında kullanılabilir.
Herhangi bir metin düzenleyici kullanarak nginx.conf
yapılandırma dosyasını açın:
$ sudo nano /etc/nginx/nginx.conf
http bölümüne bir satır yazın:
$ client_max_body_size 100M
100 - web sitesine yüklenebilecek megabayt cinsinden maksimum dosya boyutu, bu durumda 100 megabayt. Eğer emrinizde birden fazla web sitesi varsa ve tüm web sitelerine yüklemeyi aynı anda kısıtlamak gerekiyorsa, client_max_body_size
satırı http blok bölümüne girilmelidir.
Yalnızca belirli bir site için indirme işlemini kısıtlamak gerekiyorsa, client_max_body_size
satırı, varsayılan olarak /etc/nginx/sites-available/file_name_with_configuration
içinde bulunan site yapılandırma
dosyasının sunucu bloğuna eklenmelidir:
Bir indirme sınırının yalnızca sitedeki belirli bir bölüm için ayarlanması gerektiğinde, client_max_body_size
dizesi, varsayılan olarak /etc/nginx/sites-available/file_name_with_configuration
içinde bulunan site yapılandırma dosyasının konum
yönergesine eklenmelidir:
Yapılandırma dosyalarında değişiklikler yapıldıktan sonra bunları kaydedin, metin düzenleyiciyi kapatın ve komutu kullanarak yapılandırma dosyalarının sözdiziminde hata olup olmadığını kontrol edin:
$ sudo nginx -t
Aşağıdaki satırları görebilirsiniz:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Bu, hata olmadığı anlamına gelir. Aksi takdirde, hatanın bir açıklamasını, hatanın bulunduğu dosyanın adını ve satır numarasını göreceksiniz. Nginx yapılandırma dosyalarında herhangi bir değişiklik yaptıktan sonra, komutu kullanarak onları yeniden başlatmalısınız:
$ sudo systemctl reload nginx
Bu makale, Nginx'te 413 Request Entity Too Large olarak bilinen ve bir web sitesine büyük dosyalar yüklerken ortaya çıkan bir hatayı ele almıştır. Hatanın kendisini açıklamanın yanı sıra, Nginx yapılandırma dosyalarını düzenleyerek hatayı düzeltme adımları da açıklanmıştır.