Kako ograničiti veličinu datoteke za učitavanje u Nginx


U našem prošlom članku objasnili smo ograničavanje veličine korisničke datoteke za učitavanje u Apacheu. U ovom ćemo članku objasniti kako ograničiti veličinu korisničke datoteke za učitavanje u Nginx. Ograničavanje veličine učitane datoteke korisno je za sprječavanje nekih vrsta napada uskraćivanjem usluge (DOS) i mnogih drugih povezanih problema.

Prema zadanim postavkama, Nginx ima ograničenje od 1 MB za prijenos datoteka. Da biste postavili veličinu datoteke za prijenos, možete upotrijebiti direktivu client_max_body_size, koja je dio Nginxovog modula ngx_http_core_module. Ova se direktiva može postaviti u kontekstu http, poslužitelj ili lokacija.

Postavlja najveću dopuštenu veličinu tijela zahtjeva klijenta, navedenu u polju zaglavlja zahtjeva “Content-Length”. Evo primjera povećanja ograničenja na 100 MB u /etc/nginx/nginx.conf datoteci.

Postavite u http blok koji utječe na sve blokove poslužitelja (virtualni hostovi).

http {
    ...
    client_max_body_size 100M;
}    

Postavite u blokadu poslužitelja, koja utječe na određenu web-lokaciju/aplikaciju.

server {
    ...
    client_max_body_size 100M;
}

Postavite u lokacijskom bloku, koji utječe na određeni direktorij (učitavanja) pod web-lokacijom/aplikacijom.

location /uploads {
    ...
    client_max_body_size 100M;
} 

Spremite datoteku i ponovno pokrenite Nginx web poslužitelj kako biste primijenili nedavne promjene pomoću sljedeće naredbe.

systemctl restart nginx       #systemd
service nginx restart         #sysvinit

Nakon što ste spremili promjene i ponovno pokrenuli HTTP poslužitelj, ako veličina zahtjeva premaši konfiguriranu vrijednost od 100MB, vraća se pogreška 413 (entitet zahtjeva prevelik) klijentu.

Napomena: Trebate imati na umu da preglednici ponekad možda neće pravilno prikazati ovu pogrešku. A postavljanje vrijednosti (veličine) na 0 onemogućuje provjeru veličine tijela zahtjeva klijenta.

Također biste mogli pročitati sljedeće članke koji se odnose na administraciju Nginx web poslužitelja.

  1. Kako promijeniti Nginx port u Linuxu
  2. Kako sakriti verziju Nginx poslužitelja u Linuxu
  3. ngxtop – Pratite Nginx log datoteke u stvarnom vremenu u Linuxu
  4. Kako pratiti izvedbu Nginxa pomoću Netdata
  5. Kako omogućiti NGINX statusnu stranicu

To je sve! U ovom kratkom članku objasnili smo kako ograničiti veličinu korisničke datoteke za prijenos u Nginx. Svoje mišljenje možete podijeliti s nama putem obrasca za komentare u nastavku.