Kā ierobežot faila augšupielādes lielumu


Mūsu pēdējā rakstā mēs esam paskaidrojuši par lietotāja failu augšupielādes lieluma ierobežošanu Apache. Šajā rakstā mēs paskaidrosim, kā ierobežot lietotāja faila augšupielādes lielumu Nginx. Failu augšupielādes lieluma ierobežošana ir noderīga, lai novērstu dažu veidu pakalpojumu atteikuma (DOS) uzbrukumus un daudzas citas saistītas problēmas.

Pēc noklusējuma Nginx failu augšupielādei ir ierobežojums 1 MB. Lai iestatītu faila augšupielādes lielumu, varat izmantot direktīvu client_max_body_size , kas ir daļa no Nginx moduļa ngx_http_core_module. Šo direktīvu var iestatīt http, servera vai atrašanās vietas kontekstā.

Tas nosaka klienta pieprasījuma ķermeņa maksimāli atļauto izmēru, kas norādīts pieprasījuma galvenes laukā “Satura garums”. Tālāk ir sniegts piemērs par faila /etc/nginx/nginx.conf ierobežojuma palielināšanu līdz 100 MB.

Iestatiet http blokā, kas ietekmē visus serveru blokus (virtuālos resursdatorus).

http {
    ...
    client_max_body_size 100M;
}    

Iestatīts servera blokā, kas ietekmē noteiktu vietni/lietotni.

server {
    ...
    client_max_body_size 100M;
}

Iestatiet atrašanās vietas blokā, kas ietekmē noteiktu direktoriju (augšupielādes) zem vietnes/lietotnes.

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

Saglabājiet failu un restartējiet Nginx tīmekļa serveri, lai lietotu pēdējās izmaiņas, izmantojot šādu komandu.

# systemctl restart nginx       #systemd
# service nginx restart         #sysvinit

Pēc izmaiņu saglabāšanas un HTTP servera restartēšanas, ja pieprasījumā izmērs pārsniedz konfigurēto vērtību 100 MB, klientam tiek atgriezta kļūda 413 (Pieprasīt entītiju pārāk lielu).

Piezīme. Jums jāpatur prātā, ka dažreiz pārlūkprogrammās šī kļūda var netikt parādīta pareizi. Ja valua (izmērs) iestatīšana uz 0, tiek atspējota klienta pieprasījuma ķermeņa lieluma pārbaude.

Iespējams, vēlēsities arī izlasīt šos rakstus, kas saistīti ar Nginx tīmekļa servera administrēšanu.

  1. Kā nomainīt Nginx portu operētājsistēmā Linux
  2. Kā paslēpt Nginx servera versiju Linux
  3. ngxtop - uzraugiet Nginx žurnālfailus reāllaikā Linux
  4. Kā uzraudzīt Nginx veiktspēju, izmantojot Netdata
  5. Kā iespējot NGINX statusa lapu

Atsauce: ngx_http_core_module dokumentācija

Tas ir viss! Šajā īsajā rakstā mēs esam paskaidrojuši, kā ierobežot lietotāja faila augšupielādes lielumu Nginx. Jūs varat dalīties savās domās ar mums, izmantojot zemāk esošo komentāru veidlapu.