Wyszukiwanie w witrynie

Jak ograniczyć rozmiar przesyłanego pliku w Nginx


W naszym ostatnim artykule wyjaśniliśmy, jak ograniczyć rozmiar przesyłanych plików użytkownika w Apache. W tym artykule wyjaśnimy, jak ograniczyć rozmiar przesyłanych plików użytkownika w Nginx. Ograniczanie rozmiaru przesyłanych plików jest przydatne, aby zapobiec niektórym typom ataków typu „odmowa usługi” (DOS) i wielu innym powiązanym problemom.

Domyślnie Nginx ma limit przesyłania plików wynoszący 1 MB. Aby ustawić rozmiar przesyłanego pliku, możesz użyć dyrektywy client_max_body_size, która jest częścią modułu ngx_http_core_module Nginx. Tę dyrektywę można ustawić w kontekście http, serwera lub lokalizacji.

Ustawia maksymalny dozwolony rozmiar treści żądania klienta, określony w polu nagłówka żądania „Content-Length”. Oto przykład zwiększenia limitu do 100MB w pliku /etc/nginx/nginx.conf.

Ustaw w bloku http, który wpływa na wszystkie bloki serwerów (hosty wirtualne).

http {
    ...
    client_max_body_size 100M;
}    

Ustaw w blokadzie serwera, która wpływa na konkretną witrynę/aplikację.

server {
    ...
    client_max_body_size 100M;
}

Ustaw w bloku lokalizacji, który wpływa na konkretny katalog (przesłane pliki) w witrynie/aplikacji.

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

Zapisz plik i zrestartuj serwer WWW Nginx, aby zastosować ostatnie zmiany, używając następującego polecenia.

systemctl restart nginx       #systemd
service nginx restart         #sysvinit

Jeśli po zapisaniu zmian i ponownym uruchomieniu serwera HTTP rozmiar żądania przekracza skonfigurowaną wartość 100MB, zwracany jest błąd 413 (Żądanie jest zbyt duże) do klienta.

Uwaga: należy pamiętać, że czasami przeglądarki mogą nieprawidłowo wyświetlać ten błąd. Ustawienie wartości (rozmiaru) na 0 wyłącza sprawdzanie rozmiaru treści żądania klienta.

Możesz także przeczytać poniższe artykuły dotyczące administrowania serwerem WWW Nginx.

  1. Jak zmienić port Nginx w systemie Linux
  2. Jak ukryć wersję serwera Nginx w systemie Linux
  3. ngxtop – Monitoruj pliki dziennika Nginx w czasie rzeczywistym w systemie Linux
  4. Jak monitorować wydajność Nginx za pomocą Netdata
  5. Jak włączyć stronę stanu NGINX

To wszystko! W tym krótkim artykule wyjaśniliśmy, jak ograniczyć rozmiar przesyłanych plików użytkownika w Nginx. Możesz podzielić się z nami swoimi przemyśleniami za pomocą poniższego formularza komentarza.