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.
- Jak zmienić port Nginx w systemie Linux
- Jak ukryć wersję serwera Nginx w systemie Linux
- ngxtop – Monitoruj pliki dziennika Nginx w czasie rzeczywistym w systemie Linux
- Jak monitorować wydajność Nginx za pomocą Netdata
- 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.