Ödeme Yöntemleri Abuse

Ошибка istek başlığı veya çerez çok büyük Nginx

01.02.2024, 23:37

Nginx'te"istek başlığı veya çerezçok büyük" hatası, istek başlıklarının veya çerezlerin boyutu sunucu yapılandırmasında ayarlanan izin verilen maksimum boyutu aştığında ortaya çıkar. Bu makalede bunun neden olduğunu ayrıntılı olarak analiz edeceğiz.

Nginx'teki İstek başlığı veya çerez çok büyük hatası ne anlama geliyor?

Hata, HTTP/HTTPS istek başlıklarının boyutu izin verilen sınırı aştığında ortaya çıkar. Örneğin, tarayıcı çok fazla çerez gönderiyor veya web sunucusuna gönderilen istek çok büyük.

İstek genellikle iki bölüme ayrılır: başlıklar - genel bilgilerin ve meta verilerin bulunduğu yer ve istek gövdesi. Başlığın yanı sıra istek gövdesi de farklı boyutlarda olabilir - hem küçük hem de büyük ve boyutu genellikle herhangi bir soruna neden olmaz. Ancak, web sunucusu ayarlarında istek başlığının uzunluğunu sınırlayan bir parametre varsa, bu hatayı almanız olasıdır.

Nasıl düzeltilir?

Sorunu çözmenin birkaç yolu vardır

  1. Nginx yapılandırmasında başlıkların ve çerezlerin maksimum boyutunu artırın. Bunu yapmak için, nginx.conf yapılandırma dosyasına aşağıdaki satırları ekleyin.
  2. Tarayıcı çerezlerini temizleyin. Sorun yalnızca bir bilgisayarda veya cihazda meydana geliyorsa, tarayıcı çerezini temizlemek yardımcı olabilir.
  3. Farklı bir tarayıcı veya cihaz kullanın. Sorun yalnızca bir tarayıcı veya cihazda meydana geliyorsa, farklı bir tarayıcı veya cihaz kullanmayı deneyin.
  4. GET yerine POST isteği kullanın. Sorun büyük parametreler içeren bir GET isteği gönderirken ortaya çıkıyorsa, GET yerine POST isteği kullanmayı deneyebilirsiniz.
  5. İsteği birkaç küçük isteğe bölün. Sunucu yapılandırmasını değiştirmek mümkün değilse, isteği sırayla göndererek birkaç küçük isteğe bölmeyi deneyebilirsiniz.

Bu hatayı düzeltmek için (Nginx web sunucusunun yöneticisiyseniz) large_client_header_buffers parametresini değiştirerek maksimum başlık boyutunu artırmalısınız. Bu hatanın meydana geldiği web sitesinin sıradan bir kullanıcısıysanız, kaynağın yöneticisi hatayı düzeltene kadar beklemelisiniz.

Nginx web sunucusu tarafında düzeltme

Large_client_header_buffers parametresini ayarlamanız gerekir, bu parametre 2 sayı alır, örneğin 4 ve 8 (varsayılan olarak ayarlanmıştır). İlk sayı maksimum tampon sayısını ayarlayan değerdir ve ikinci sayı istek başlığının okunduğu tamponun boyutudur. İkinci parametre kilobayt olarak ayarlanır.

Bu satır, Nginx yapılandırma dosyasının http bölümüne veya belirli bir site için sunucu bölümüne eklenir. Nginx web sitesi yapılandırma dosyaları genellikle /etc/nginx/conf.d/ veya /etc/nginx/sites-available/ içinde saklanır (Nginx'in nasıl kurulduğuna bağlı olarak - standart işletim sistemi depoları veya Nginx deposu kullanılarak).

Değeri ayarlamak için büyük başlıkları depolamaya uygun 8 ve 64 sayılarını ayarlayabilirsiniz. Parametre aşağıdaki gibi görünecektir:

large_client_header_buffers 8 64k;

Yapılandırma dosyasında değişiklik yapıldıktan sonra, Nginx komut kullanılarak yeniden başlatılmalıdır:

sudo systemctl reload nginx

Bu sorunu çözmek için yöntemler şunlardır.