Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X
X
X
X

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
NGINX Teknik Rehberi

NGINX Dosya Yükleme Limiti ve 413 Hatası Nasıl Çözülür?

413 Request Entity Too Large, istemcinin gönderdiği istek gövdesinin NGINX tarafından kabul edilen sınırı aştığını gösterir. Yalnız client_max_body_size artırmak yeterli olmayabilir; PHP, uygulama, proxy, CDN ve geçici disk limitleri birlikte eşleşmelidir.

413 Payload Too Largeclient_max_body_sizeUpload LimitPHPReverse Proxy
root@sunucu:~SSH
2026/07/17 03:40:44 [error] 2284#2284: *821 client intended to send too large body: 52429187 bytes, client: 203.0.113.10, request: "POST /wp-admin/async-upload.php HTTP/2.0"
İstek akışıİstemci, NGINX ve backend arasındaki kopma noktası
YapılandırmaEtkin server ve location bloklarının doğrulanması
Canlı teşhisLog, socket, port ve servis kontrolleri
Güvenli uygulamaTest, kontrollü reload ve sonuç doğrulaması
01
Teknik açıklama

NGINX 413 Request Entity Too Large ne anlama gelir?

NGINX, POST/PUT isteğinin gövdesi client_max_body_size değerini aştığında isteği backend’e göndermeden 413 döndürür. Bu yüzden PHP logunda hiçbir kayıt oluşmayabilir.

client_max_body_size http, server veya location seviyesinde tanımlanabilir. Daha dar bloktaki değer üst seviyeyi geçersiz kılar; bu nedenle yalnız nginx.conf’a ekleme yapmak etkin vhost ayarını değiştirmeyebilir.

NGINX limiti yükseltildikten sonra PHP upload_max_filesize ve post_max_size, uygulama limiti, Nginx Proxy Manager veya CDN sınırı ayrıca kontrol edilmelidir.

Büyük istekler geçici dosyaya yazılabilir. /tmp veya client_body_temp_path doluysa limit yeterli olsa bile upload başarısız olur.

Sınırsız değer kullanmak kaynak tüketimi ve kötüye kullanım riskini artırır. Limit yalnız gereken domain/location için makul boyutta tanımlanmalıdır.

Etkin değeri tahmin etmeyin; nginx -T çıktısında aynı domain ve location için uygulanan client_max_body_size satırını bulun.

02
Log mesajları ve anlamları

413 ve istek gövdesi limiti mesajları

E-postada, tarayıcıda veya SSH günlüğünde gördüğünüz ifadeyi aratın. Her kartta anlam, muhtemel neden ve güvenli ilk işlem bulunur.

8 kayıt
01kritik

client intended to send too large body

Anlamı: İstek gövdesi NGINX limitini aştı.

Muhtemel neden: client_max_body_size yüklenen dosyadan küçük.

Logdaki byte değerini ve etkin limiti karşılaştırın.
02kritik

413 Request Entity Too Large

Anlamı: NGINX backend’e iletmeden isteği reddetti.

Muhtemel neden: Server/location seviyesinde gövde sınırı.

nginx -T ile en dar eşleşen bloktaki değeri bulun.
03uyari

413 Payload Too Large

Anlamı: Aynı HTTP durumunun farklı gösterimidir.

Muhtemel neden: NGINX, proxy veya API gateway limiti.

Yanıt header’ından hatayı üreten katmanı belirleyin.
04uyari

The uploaded file exceeds upload_max_filesize

Anlamı: NGINX’i geçen dosya PHP limitine takıldı.

Muhtemel neden: PHP upload_max_filesize düşük.

Web PHP sürümünün etkin ini değerlerini kontrol edin.
05uyari

POST Content-Length exceeds the limit

Anlamı: Toplam POST gövdesi PHP post_max_size değerini aştı.

Muhtemel neden: post_max_size dosya ve form toplamından küçük.

post_max_size değerini upload limitinden yüksek ayarlayın.
06uyari

writev() failed (28: No space left on device)

Anlamı: Geçici upload dosyası yazılamadı.

Muhtemel neden: Disk veya inode dolu.

df -h, df -i ve temp dizinlerini kontrol edin.
07bilgi

Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE

Anlamı: Backend framework kendi body limitini uyguladı.

Muhtemel neden: Django/Laravel/Node benzeri uygulama ayarı.

NGINX sonrası uygulama logunu kontrol edin.
08bilgi

Cloudflare 413 Request Entity Too Large

Anlamı: İstek origin’e ulaşmadan CDN limiti aşılmış olabilir.

Muhtemel neden: Plan veya proxy upload sınırı.

Origin IP’ye doğrudan test göndererek katmanı ayırın.

Bu ifadeyle eşleşen kayıt bulunamadı.

03
Güvenli ilk inceleme

SSH teşhis komutları ve hangi çıktıya bakılmalı?

Komutlar root erişimi içindir. Önce yalnızca durum ve log toplayın; nedeni görmeden kalıcı ayar değiştirmeyin.

Etkin body limitleri
nginx -T | grep -n 'client_max_body_size'

Include dosyaları dâhil tüm tanımları gösterir.

413 log analizi
grep -R 'too large body' /var/log/nginx 2>/dev/null | tail -n 100

İstek boyutu, URL ve domaini gösterir.

PHP upload değerleri
php -i | grep -E 'upload_max_filesize|post_max_size|memory_limit|max_execution_time'

CLI PHP değerlerini gösterir; web PHP’si ayrıca doğrulanmalıdır.

Geçici alan kontrolü
df -h
df -i
nginx -T | grep -n 'client_body_temp_path'

Upload sırasında kullanılan disk ve inode alanını kontrol eder.

Test dosyası gönderimi
curl -sk -o /dev/null -w '%{http_code}\n' -F '[email protected]' https://example.com/yukle

Gerçek endpoint’e kontrollü upload testi yapar.

Test ve reload
nginx -t && systemctl reload nginx

Yeni limitin güvenli uygulanmasını sağlar.

04
Barındırma ortamına göre

Ubuntu/Debian, AlmaLinux/CloudLinux ve Plesk kontrolleri

NGINX hatasının temel nedeni aynı olsa da paket yolları, servis adları, güvenlik katmanları ve sanal host yönetimi kullanılan Linux dağıtımına veya Plesk altyapısına göre değişir.

Ubuntu / Debian

NGINX 413 Request Entity Too Large için systemd, paket yolu ve journald kontrolleri.

  • Önce etkin NGINX yapılandırmasını ve servis durumunu doğrulayın.
  • Domain error logu ile systemd günlüğünü aynı zaman aralığında karşılaştırın.
  • Değişiklikten önce nginx -t, ardından kesintisiz reload uygulayın.
nginx -T | grep -n client_max_body_size php -i | grep -E 'upload_max_filesize|post_max_size' tail -n 100 /var/log/nginx/error.log

AlmaLinux / CloudLinux

NGINX 413 Request Entity Too Large için SELinux, PHP-FPM pool ve RHEL tabanlı servis kontrolleri.

  • NGINX ve ilgili backend servislerinin aktif durumunu kontrol edin.
  • SELinux AVC kayıtlarını ve güvenlik katmanlarını gözden geçirin.
  • Konfigürasyon testi geçmeden servisi yeniden başlatmayın.
nginx -T | grep -n client_max_body_size php -i | grep -E 'upload_max_filesize|post_max_size' df -h; df -i

Plesk Obsidian

Plesk tarafından üretilen NGINX sanal host dosyalarında nginx 413 request entity too large kontrolü.

  • Domains > Apache & nginx Settings bölümündeki ek direktifleri inceleyin.
  • Elle oluşturulan ve Plesk tarafından üretilen dosyaları birbirinden ayırın.
  • Gerekirse yalnız ilgili domain için web yapılandırmasını yeniden oluşturun.
grep -R 'client_max_body_size' /var/www/vhosts/system/example.com/conf /etc/nginx 2>/dev/null plesk repair web example.com -n
05
Güvenli çözüm sırası

NGINX 413 hatası çözüm sırası

Hangi katmanın hangi boyutta isteği reddettiğini ölçün ve limitleri yalnız gereken kapsamda uyumlu hale getirin.

1

Gerçek dosya ve POST boyutunu belirleyin

Yalnız dosya değil multipart form ek yükünü de hesaba katın.

stat -c '%n %s bytes' test.bin
2

413’ü hangi katmanın ürettiğini doğrulayın

Origin ve CDN üzerinden ayrı test yapın.

curl -skI https://example.com/; curl -skI --resolve example.com:443:ORIGIN_IP https://example.com/
3

Etkin NGINX limitini bulun

Aynı server/location için en dar client_max_body_size değerini kontrol edin.

nginx -T | grep -nC 4 client_max_body_size
4

Backend limitlerini eşleştirin

PHP post_max_size ve uygulama ayarı NGINX limitinden küçük olmamalıdır.

php -i | grep -E 'upload_max_filesize|post_max_size'
5

Disk ve temp dizinini doğrulayın

Büyük body geçici diske yazılıyorsa boş alan ve inode gerekir.

df -h; df -i
6

Test, reload ve gerçek upload doğrulaması yapın

Yalnız config testi değil, uygulama endpoint’ine upload yapın.

nginx -t && systemctl reload nginx curl -sk -F '[email protected]' https://example.com/yukle
06
Belirtiye göre ayrım

Özel senaryolar ve karar ağacı

WordPress tema/eklenti yükleme

NGINX, PHP ve WordPress multisite limitleri birlikte kontrol edilir.

nginx -T | grep client_max_body_size; php -i | grep -E 'upload_max|post_max'
phpMyAdmin büyük SQL importu

Body limiti yanında PHP süre ve upload temp alanı önemlidir.

df -h /tmp; php -i | grep upload_tmp_dir
Laravel/API JSON body

NGINX sonrası framework veya API gateway de limit uygulayabilir.

curl -sv -H 'Content-Type: application/json' --data-binary @veri.json https://example.com/api
Docker/Nginx Proxy Manager

Değişiklik container içi etkin config veya custom location alanına yazılmalıdır.

docker exec nginx nginx -T | grep client_max_body_size
CDN üzerinden 413

Origin’e doğrudan test ile CDN plan limitini ayırın.

curl --resolve example.com:443:ORIGIN_IP -skI https://example.com/
Plesk ek direktif

Additional nginx directives alanında domain bazlı limit tanımlanabilir.

plesk repair web example.com -n

Kesinlikle yapmayın

  • client_max_body_size 0 değerini gereksiz yere genel http bloğunda kullanmayın.
  • Yalnız NGINX limitini artırıp PHP ve uygulama limitlerini unutmayın.
  • Değişikliği yanlış veya include edilmeyen config dosyasına yazmayın.
  • Büyük upload sorununda disk/inode kontrolünü atlamayın.
  • Production’da sınırsız ve kimlik doğrulamasız upload endpoint’i bırakmayın.

Çözüm sonrası doğrulama

  • Etkin NGINX config hedeflenen limiti göstermektedir.
  • PHP/application limitleri istek boyutuyla uyumludur.
  • Gerçek upload endpoint’i beklenen yanıtı döndürmektedir.
  • Disk ve inode alanı yeterlidir.
  • Limit yalnız gerekli domain/location kapsamında uygulanmıştır.
07
Resmî teknik kaynaklar

NGINX ve ilgili bileşenlerin resmî dokümantasyonu

08
İç SEO içerik kümesi

İlgili NGINX hata çözümleri

09
Sık sorulan sorular

NGINX 413 Request Entity Too Large hakkında merak edilenler

NGINX 413 Request Entity Too Large neden olur?

İstek gövdesi etkin client_max_body_size değerini aştığında NGINX backend’e göndermeden 413 döndürür.

client_max_body_size varsayılanı nedir?

NGINX Open Source belgelerinde varsayılan değer 1 MB olarak belirtilir.

Ayarı nereye yazmalıyım?

İhtiyaca göre http, server veya en dar location bloğuna yazılabilir. Güvenlik için mümkün olan en dar kapsam tercih edilmelidir.

NGINX limiti arttı ama upload hâlâ olmuyor, neden?

PHP upload_max_filesize, post_max_size, framework, CDN, proxy veya disk alanı daha düşük bir sınır uyguluyor olabilir.

client_max_body_size 0 güvenli mi?

0 sınırı kapatır; kötüye kullanım ve kaynak tüketimi riskini artırdığı için yalnız kontrollü senaryolarda düşünülmelidir.

WordPress’te 413 nasıl çözülür?

NGINX limiti, aktif web PHP upload/post limitleri ve WordPress multisite upload sınırı birlikte ayarlanmalıdır.

Reload yeterli mi?

Yapılandırma değişikliği için nginx -t sonrası reload genellikle yeterlidir; restart gerekli değildir.

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

Sunucunuzdaki hatayı kalıcı olarak çözelim

cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim ve güvenlik katmanlarını birlikte analiz ederek yalnızca servisi kaldırmak yerine arızanın temel nedenini gideriyoruz.

Sunucu Desteği Al WhatsApp
Top