Metode de plată Abuse

Ce înseamnă eroarea 413 și cum să o remediați

07.07.2024, 23:21

În cazuri rare, dar se întâmplă ca în timp ce încărcați fișiere mari pe un site web, serverul web Nginx să returneze o eroare - 413 Request Entity Too Large. Eroarea apare atunci când încercați să încărcați un fișier pe server care este prea mare decât este permis pe server. În continuare vom lua în considerare descrierea erorii 413 Request Entity Too Large și metodele de remediere a acesteia pe partea serverului web Nginx.

Ce înseamnă eroarea 413

Eroarea 413 sau Request Entity Too Large înseamnă "Entitate de cerere prea mare" sau, în cuvinte simple, cantitatea de date care este transferată este prea mare. Eroarea este returnată atunci când serverul nu poate procesa o cerere deoarece entitatea cererii (sau fișierul mare) este prea mare. O captură de ecran a erorii este prezentată mai jos:

În mod implicit, Nginx are o limită de dimensiune a corpului cererii de 1MB. Dacă solicitarea depășește valoarea setată, veți vedea eroarea 413 Request Entity Too Large.

De ce apare eroarea

Eroarea 413 "Request Entity Too Large" apare atunci când un server web respinge o cerere deoarece dimensiunea corpului cererii depășește dimensiunea maximă permisă setată pe server. Aceasta înseamnă că datele trimise în cerere (de exemplu, la încărcarea unui fișier pe server) sunt prea mari pentru a fi procesate.

Rezolvați problema:

  1. Prin modificarea setărilor serverului: Puteți încerca să măriți dimensiunea maximă admisă a cererii pe server. Acest lucru poate necesita modificarea fișierelor de configurare ale serverului web - Apache, Nginx.
  2. Prin reducerea dimensiunii datelor: dacă este posibil, încercați să reduceți dimensiunea datelor trimise în cerere. De exemplu, dacă încărcați un fișier, încercați să reduceți dimensiunea acestuia.
  3. Utilizând alte metode de transfer de date: în locul unei cereri mari, puteți împărți datele în mai multe cereri mai mici și să le trimiteți fragmentat.
  4. Utilizarea altor metode de transfer de fișiere: Puteți utiliza servicii specializate de partajare a fișierelor sau FTP pentru a transfera fișiere mari.

Dacă nu controlați serverul către care trimiteți solicitarea, contactați administratorul serverului sau asistența tehnică pentru asistență în rezolvarea erorii 413 "Request Entity Too Large".

Cum să remediați

Pentru a remedia eroarea 413, trebuie să măriți limita permisă. Puteți crește dimensiunea corpului cererii și, în consecință, dimensiunea fișierelor încărcate utilizând client_max_body_size. Opțiunea este disponibilă pentru utilizare în directivele http, server sau location din fișierul de configurare /etc/nginx/nginx.conf sau în fișierul de configurare a site-ului web.

Deschideți fișierul de configurare nginx.conf utilizând orice editor de text:

$ sudo nano /etc/nginx/nginx.conf

Tastați o linie în secțiunea http:

$ client_max_body_size 100M

100 - dimensiunea maximă a fișierului în megabytes care poate fi încărcat pe site-ul web, în acest caz 100 megabytes. Dacă aveți la dispoziție mai multe site-uri web și este necesar să restricționați încărcarea la toate site-urile web simultan, atunci linia client_max_body_size trebuie introdusă în secțiunea http block.

Dacă este necesar să restricționați descărcarea numai pentru un anumit site, atunci linia client_max_body_size trebuie adăugată la blocul server din fișierul de configurare a site-ului, care în mod implicit se află în /etc/nginx/sites-available/file_name_with_configuration:

Atunci când o limită de descărcare trebuie să fie stabilită numai pentru o anumită secțiune a unui site, șirul client_max_body_size trebuie adăugat la directiva de locație a fișierului de configurare a site-ului, care se află în mod implicit în /etc/nginx/sites-available/file_name_with_configuration:

După ce modificările au fost efectuate în fișierele de configurare, salvați-le, închideți editorul de text și verificați sintaxa fișierelor de configurare pentru erori utilizând comanda:

$ sudo nginx -t

Este posibil să vedeți următoarele linii:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Aceasta înseamnă că nu există erori. În caz contrar, veți vedea o descriere a erorii, numele fișierului în care a fost găsită eroarea și numărul liniei. După efectuarea oricărei modificări la fișierele de configurare Nginx, trebuie să le reporniți utilizând comanda:

$ sudo systemctl reload nginx

Acest articol a acoperit o eroare în Nginx cunoscută sub numele de 413 Request Entity Too Large, care apare atunci când încărcați fișiere mari pe un site web. Pe lângă descrierea erorii în sine, au fost descriși și pașii de remediere a erorii prin editarea fișierelor de configurare Nginx.