Sobes.tech
Middle

Hoe wijzig je de limieten in de Nginx-configuratie?

sobes.tech AI

Antwoord van AI

De limieten in de Nginx-configuratie kunnen worden gewijzigd door de configuratiebestanden te bewerken, die zich meestal bevinden in de directories /etc/nginx/ of /usr/local/nginx/conf/.

Hier zijn de gangbare limieten en hoe ze te wijzigen:

  1. Limiet van de grootte van de request body (client_max_body_size): Stelt de maximaal toegestane grootte van de request body van de client in. Belangrijk voor het uploaden van bestanden.

    # In de context van http, server of location
    client_max_body_size 10M; # Voorbeeld: limiet instellen op 10 megabyte
    
  2. Limiet van het aantal verbindingen (worker_connections): Bepaalt het maximale aantal gelijktijdige verbindingen dat een worker-proces kan verwerken.

    # In de context van events
    events {
        worker_connections 1024; # Voorbeeld: 1024 verbindingen per proces
        # andere event-instellingen...
    }
    
  3. Limiet van de timeout voor het verbinden (keepalive_timeout): Stelt de tijd in dat de keep-alive verbinding met de client open blijft na de verwerking van de laatste aanvraag.

    # In de context van http, server of location
    keepalive_timeout 60s; # Voorbeeld: 60 seconden
    
  4. Limiet van de timeout voor het verzenden van request headers (client_header_timeout): Wachtduur voordat de client de request header verzendt. Als deze niet binnen deze tijd wordt verzonden, wordt de verbinding gesloten.

    # In de context van http, server of location
    client_header_timeout 60s; # Voorbeeld: 60 seconden
    
  5. Limiet van de timeout voor het verzenden van de request body (client_body_timeout): Wachtduur voordat de client de request body verzendt. Als deze niet binnen deze tijd wordt verzonden, wordt de verbinding gesloten.

    # In de context van http, server of location
    client_body_timeout 60s; # Voorbeeld: 60 seconden
    
  6. Limiet van de timeout voor het ontvangen van het antwoord van de proxy-server (proxy_read_timeout): Wachtduur om het antwoord van de proxy-server te ontvangen.

    # In de context van http, server of location
    proxy_read_timeout 120s; # Voorbeeld: 120 seconden
    
  7. Limiet van open bestanden (worker_rlimit_nofile): Stelt het maximale aantal open bestanden voor het worker-proces in. Belangrijk voor veel verbindingen.

    # In de main context
    worker_rlimit_nofile 65535; # Voorbeeld: 65535 bestanden
    

    Opmerking: Voor deze limiet kan het nodig zijn om ook systeemlimieten aan te passen (ulimit).

Stappen om te wijzigen:

  1. Bepaal welke limiet moet worden gewijzigd en in welke context (http, server, location, events, main).
  2. Zoek het bijbehorende configuratiebestand (meestal nginx.conf of bestanden in conf.d/ of sites-available/sites-enabled).
  3. Voeg de directive toe of wijzig deze met de gewenste waarde.
    # Voorbeeld van toevoegen in een serverblok
    server {
        listen 80;
        server_name example.com;
    
        client_max_body_size 50M; # Wijziging van de request body limiet voor deze server
    
        location / {
            # ...
        }
    }
    
  4. Controleer de syntax van de configuratie:
    nginx -t
    
  5. Herlaad Nginx om de wijzigingen toe te passen:
    sudo systemctl reload nginx
    # of
    sudo service nginx reload
    

Bij het wijzigen van de limieten is het belangrijk om hun doel en de potentiële impact op prestaties en beveiliging te begrijpen.