Î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.
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.
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:
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".
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.