Ödeme Yöntemleri Abuse

413 hatası ne anlama gelir ve nasıl düzeltilir

07.07.2024, 23:21

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.

413 hatası ne anlama gelir

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.

Hata neden görünüyor

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:

  1. Sunucu ayarlarını değiştirerek: Sunucuda izin verilen maksimum istek boyutunu artırmayı deneyebilirsiniz. Bu, web sunucusu yapılandırma dosyalarının değiştirilmesini gerektirebilir - Apache, Nginx.
  2. Verilerin boyutunu azaltarak: Mümkünse, istekte gönderilen verilerin boyutunu azaltmaya çalışın. Örneğin, bir dosya yüklüyorsanız, boyutunu azaltmayı deneyin.
  3. Diğer veri aktarım yöntemlerini kullanarak: Büyük bir istek yerine, verileri birkaç küçük isteğe bölebilir ve bunları parça parça gönderebilirsiniz.
  4. Diğer dosya aktarım yöntemlerini kullanma: Büyük dosyaları aktarmak için özel dosya paylaşım hizmetlerini veya FTP'yi kullanabilirsiniz.

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.

Nasıl düzeltilir

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.