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 Request Header or Cookie Too Large Hatası Nasıl Çözülür?

Bu 400 hatası, istek satırı veya tek bir HTTP header alanının NGINX buffer kapasitesini aşmasıyla oluşur. Çoğu vakada gereksiz büyüyen oturum cookie’si, JWT, SSO verisi veya reverse proxy tarafından eklenen header zinciri bulunur.

400 Bad RequestCookie Too LargeHeader BufferJWTSSO
root@sunucu:~SSH
2026/07/17 04:02:19 [info] 2381#2381: *1223 client sent too large header while reading client request headers
400 Bad Request
Request Header Or Cookie Too Large
İ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

Request Header or Cookie Too Large ne anlama gelir?

NGINX, istek başlıklarını önce normal buffer’a, büyükse large_client_header_buffers alanına okur. Tek bir header veya request line buffer boyutunu aşarsa 400 ya da bazı durumlarda 414 döner.

Tarayıcı cookie’lerini silmek geçici olarak düzeltirse sorun çoğunlukla uygulamanın aynı domain altında aşırı sayıda veya büyük cookie üretmesidir. Buffer artırmak semptomu azaltabilir ancak cookie tasarımı düzeltilmelidir.

JWT içine fazla kullanıcı yetkisi, profil ve oturum verisi koymak Authorization header’ını büyütür. SSO ve OAuth sistemlerinde birden çok token aynı isteğe eklenebilir.

Reverse proxy zincirlerinde X-Forwarded-For, Cookie ve özel trace header’ları katmanlar boyunca büyüyebilir. Hata yalnız CDN/load balancer üzerinden oluşuyorsa origin ve doğrudan erişim karşılaştırılmalıdır.

Buffer değerleri her bağlantıda ihtiyaç oldukça tahsis edilebilir; gereksiz büyük değerler yüksek eşzamanlılıkta bellek tüketimini artırır.

Buffer’ı yükseltmeden önce en büyük header’ın Cookie mi Authorization mı request URI mı olduğunu ölçün ve uygulama tarafında küçültülebilir veriyi belirleyin.

02
Log mesajları ve anlamları

400, büyük cookie ve header 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 sent too large header while reading client request headers

Anlamı: Bir header alanı etkin büyük buffer sınırını aştı.

Muhtemel neden: Büyük Cookie, Authorization/JWT veya proxy header.

Tarayıcı ve curl ile cookie/header boyutunu ölçün.
02kritik

Request Header Or Cookie Too Large

Anlamı: NGINX istemci başlığını kabul edemedi.

Muhtemel neden: Cookie birikmesi veya yetersiz large_client_header_buffers.

İlgili domain cookie’lerini temizleyip uygulamanın tekrar büyütüp büyütmediğini izleyin.
03uyari

400 Bad Request nginx

Anlamı: Genel 400 mesajıdır; log kök nedeni gösterir.

Muhtemel neden: Header, request line, TLS veya bozuk HTTP isteği.

Aynı zamanlı error_log satırını kontrol edin.
04uyari

client sent too long URI

Anlamı: İstek satırı/URI buffer sınırını aştı.

Muhtemel neden: Uzun query string, filtre veya yanlış redirect.

URL uzunluğunu ve uygulama query üretimini inceleyin.
05uyari

upstream sent too big header

Anlamı: İstemci değil backend response header’ı proxy buffer’ını aştı.

Muhtemel neden: Büyük Set-Cookie veya uygulama header’ları.

proxy_buffer_size ve backend Set-Cookie çıktılarını ayırın.
06bilgi

431 Request Header Fields Too Large

Anlamı: Bazı ara katmanlar büyük header için 431 döndürebilir.

Muhtemel neden: CDN, gateway veya uygulama sunucusu limiti.

Yanıt Server header’ı ve doğrudan origin testiyle katmanı belirleyin.
07bilgi

Cookie header is too large

Anlamı: Uygulama veya proxy cookie boyutunu reddetti.

Muhtemel neden: Session verisinin cookie içine aşırı yazılması.

Cookie adlarını ve boyutlarını geliştirici araçlarından çıkarın.
08bilgi

Authorization header too large

Anlamı: JWT veya kimlik doğrulama başlığı sınırı aştı.

Muhtemel neden: Büyük claim seti veya zincirlenmiş token.

Token payload’ını hassas veri göstermeden boyut olarak analiz edin.

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.

Cookie boyutu ölçümü
curl -skD - https://example.com/ -o /dev/null | grep -i '^set-cookie:'
curl -sk -H 'Cookie: TEST=1' -o /dev/null -w '%{http_code}\n' https://example.com/

Set-Cookie üretimini ve kontrollü cookie isteğini inceler.

Header buffer ayarları
nginx -T | grep -nE 'client_header_buffer_size|large_client_header_buffers|proxy_buffer_size'

İstemci ve upstream header buffer değerlerini gösterir.

400 logları
grep -R 'too large header\|too long URI' /var/log/nginx 2>/dev/null | tail -n 100

Hata türünü ve etkilenen isteği bulur.

Header toplam boyutu
curl -sk -D /tmp/basliklar.txt https://example.com/ -o /dev/null
wc -c /tmp/basliklar.txt

Yanıt header toplamını kaba olarak ölçer.

Origin karşılaştırması
curl -skI https://example.com/
curl -skI --resolve example.com:443:ORIGIN_IP https://example.com/

CDN/proxy katmanının header büyütüp büyütmediğini ayırır.

Test ve reload
nginx -t && systemctl reload nginx

Makul buffer değişikliğini güvenli uygular.

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 400 Header veya Cookie 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 -nE 'client_header_buffer_size|large_client_header_buffers' grep -R 'too large header' /var/log/nginx | tail -n 50

AlmaLinux / CloudLinux

NGINX 400 Header veya Cookie 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 -nE 'client_header_buffer_size|large_client_header_buffers' grep -R 'too large header' /var/log/nginx | tail -n 50

Plesk Obsidian

Plesk tarafından üretilen NGINX sanal host dosyalarında nginx 400 header veya cookie 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 'large_client_header_buffers' /var/www/vhosts/system/example.com/conf /etc/nginx 2>/dev/null tail -n 100 /var/www/vhosts/system/example.com/logs/proxy_error_log
05
Güvenli çözüm sırası

NGINX büyük header ve cookie hatası çözüm sırası

Önce hangi header’ın büyüdüğünü bulun; uygulama verisini küçültün ve yalnız gerekiyorsa buffer’ı ölçülü artırın.

1

Hatanın kullanıcıya özel olup olmadığını test edin

Gizli pencere veya cookiesiz curl isteğiyle karşılaştırın.

curl -sk -c /dev/null -b /dev/null -o /dev/null -w '%{http_code}\n' https://example.com/
2

Error log mesajını doğrulayın

Client header, long URI veya upstream response header ayrımını yapın.

tail -n 100 /var/log/nginx/error.log
3

Cookie ve token üretimini ölçün

En büyük cookie/JWT alanını belirleyin ve gereksiz veriyi uygulamada kaldırın.

curl -skD - https://example.com/ -o /dev/null | grep -i '^set-cookie:'
4

Etkin buffer değerini bulun

Aynı server kapsamındaki client header ayarını kontrol edin.

nginx -T | grep -nE 'client_header_buffer_size|large_client_header_buffers'
5

En dar kapsamda makul ayar uygulayın

Sunucu genelinde aşırı değer yerine ilgili vhost için ölçülü boyut seçin.

nginx -t
6

Farklı oturumlarda doğrulayın

Yeni ve eski cookie’li kullanıcıların aynı sayfaya erişimini test edin.

nginx -t && systemctl reload nginx
06
Belirtiye göre ayrım

Özel senaryolar ve karar ağacı

Yalnız girişten sonra 400

Oturum veya JWT cookie’si girişte aşırı büyüyor olabilir.

curl -skD - https://example.com/giris -o /dev/null | grep -i set-cookie
WooCommerce sepetinde oluşuyor

Sepet/session cookie’leri ve eklenti verisi incelenmelidir.

grep 'too large header' /var/log/nginx/error.log | tail
SSO/OAuth sonrasında 400

Birden çok token, state ve claim cookie’si aynı domainde birikebilir.

Tarayıcı Application > Cookies alanında boyutları karşılaştırın.
Yalnız CDN arkasında

Forwarded ve trace header zinciri büyüyor olabilir.

curl --resolve example.com:443:ORIGIN_IP -skI https://example.com/
Uzun filtre URL’sinde 400/414

Query string’i POST veya kısa state kimliğine dönüştürmek gerekebilir.

python3 - <<'PY'
url='https://example.com/uzun-url'
print(len(url))
PY
Backend too big header

Bu istemci buffer değil proxy_buffer_size ve Set-Cookie sorunudur.

grep 'upstream sent too big header' /var/log/nginx/error.log | tail

Kesinlikle yapmayın

  • Tüm sunucuda çok büyük header buffer değerleri tanımlamayın.
  • Uygulamanın sürekli büyüyen cookie sorununu yalnız NGINX ayarıyla gizlemeyin.
  • JWT içeriğine gereksiz profil ve yetki verisi koymayın.
  • Kullanıcılara yalnız cookie silmeyi kalıcı çözüm olarak sunmayın.
  • İstemci ve upstream header hatalarını birbirine karıştırmayın.

Çözüm sonrası doğrulama

  • Yeni ve eski oturumlar 400 üretmeden çalışmaktadır.
  • Cookie/JWT boyutu kontrol altında ve kararlı kalmaktadır.
  • NGINX logunda yeni too large header kaydı yoktur.
  • Buffer değeri yalnız ihtiyaç duyulan kapsamda tanımlıdır.
  • Yük altında NGINX bellek tüketiminde anormal artış yoktur.
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 400 Header veya Cookie Too Large hakkında merak edilenler

Request Header or Cookie Too Large neden olur?

Bir Cookie, Authorization/JWT, uzun URI veya başka header alanı NGINX buffer boyutunu aştığında oluşur.

Cookie silmek kalıcı çözüm mü?

Hayır. Geçici olarak erişim sağlar; uygulama aynı büyük cookie’yi yeniden üretirse hata tekrarlar.

large_client_header_buffers nasıl çalışır?

Büyük istek satırı ve header alanlarını okumak için sayı ve boyut olarak ek buffer tanımlar; tek bir alan tek buffer boyutuna sığmalıdır.

Buffer yükseltmek RAM’i etkiler mi?

Evet. Özellikle yüksek eşzamanlılıkta gereksiz büyük değerler bellek kullanımını artırabilir.

upstream sent too big header aynı hata mı?

Hayır. O hata backend’in yanıt header’ının proxy buffer’ını aşmasıdır; istemci request header ayarlarından ayrıdır.

JWT neden bu hataya yol açar?

Token içine çok fazla claim veya profil verisi eklenirse Authorization ya da cookie header’ı hızla büyür.

Plesk’te ayar nereye eklenir?

Domain > Apache & nginx Settings içindeki Additional nginx directives alanı kullanılabilir; değişiklik sonrası etkin config doğrulanmalıdır.

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