Sobes.tech
Middle

Wie ändert man die Limits in der Nginx-Konfiguration?

sobes.tech KI

Antwort von AI

Die Grenzen in der Nginx-Konfiguration können durch Bearbeiten der Konfigurationsdateien geändert werden, die sich in der Regel in den Verzeichnissen /etc/nginx/ oder /usr/local/nginx/conf/ befinden.

Hier sind die gängigen Grenzen und wie man sie ändert:

  1. Grenze für die Größe des Anfragekörpers (client_max_body_size): Legt die maximal zulässige Größe des Anfragekörpers des Clients fest. Wichtig für Datei-Uploads.

    # Im Kontext von http, server oder location
    client_max_body_size 10M; # Beispiel: Grenze auf 10 Megabyte setzen
    
  2. Grenze für die Anzahl der Verbindungen (worker_connections): Bestimmt die maximale Anzahl gleichzeitiger Verbindungen, die ein Worker-Prozess verarbeiten kann.

    # Im Kontext von events
    events {
        worker_connections 1024; # Beispiel: 1024 Verbindungen pro Prozess
        # andere Event-Einstellungen...
    }
    
  3. Grenze für die Wartezeit auf eine Verbindung (keepalive_timeout): Legt die Zeit fest, während der die Keep-Alive-Verbindung mit dem Client nach der letzten Anfrage offen bleibt.

    # Im Kontext von http, server oder location
    keepalive_timeout 60s; # Beispiel: 60 Sekunden
    
  4. Grenze für die Wartezeit beim Senden der Anfrage-Header (client_header_timeout): Wartezeit, bis der Client den Anfrage-Header sendet. Wenn der Client den Header in dieser Zeit nicht sendet, wird die Verbindung geschlossen.

    # Im Kontext von http, server oder location
    client_header_timeout 60s; # Beispiel: 60 Sekunden
    
  5. Grenze für die Wartezeit beim Senden des Anfragekörpers (client_body_timeout): Wartezeit, bis der Client den Anfragekörper sendet. Wenn der Client den Körper in dieser Zeit nicht sendet, wird die Verbindung geschlossen.

    # Im Kontext von http, server oder location
    client_body_timeout 60s; # Beispiel: 60 Sekunden
    
  6. Grenze für die Wartezeit auf die Antwort des Proxy-Servers (proxy_read_timeout): Wartezeit, um die Antwort vom Proxy-Server zu erhalten.

    # Im Kontext von http, server oder location
    proxy_read_timeout 120s; # Beispiel: 120 Sekunden
    
  7. Grenze für offene Dateien (worker_rlimit_nofile): Legt die maximale Anzahl offener Dateien für den Worker-Prozess fest. Wichtig bei vielen Verbindungen.

    # Im Kontext main (Hauptkontext)
    worker_rlimit_nofile 65535; # Beispiel: 65535 Dateien
    

    Hinweis: Für diese Grenze kann es auch notwendig sein, die Systemgrenzen (ulimit) entsprechend anzupassen.

Schritte zur Änderung:

  1. Bestimmen, welcher Grenzwert geändert werden soll und in welchem Kontext (http, server, location, events, main).
  2. Das entsprechende Konfigurationsdatei finden (meist nginx.conf oder Dateien in conf.d/ oder sites-available/sites-enabled).
  3. Die Direktive mit dem gewünschten Wert hinzufügen oder ändern.
    # Beispiel für das Hinzufügen im Server-Block
    server {
        listen 80;
        server_name example.com;
    
        client_max_body_size 50M; # Änderung des Anfragekörpers für diesen Server
    
        location / {
            # ...
        }
    }
    
  4. Syntax der Konfiguration überprüfen:
    nginx -t
    
  5. Nginx neu laden, um die Änderungen anzuwenden:
    sudo systemctl reload nginx
    # oder
    sudo service nginx reload
    

Beim Ändern der Grenzen ist es wichtig, ihre Bedeutung und die potenziellen Auswirkungen auf Leistung und Sicherheit zu verstehen.