Schulungsübersicht

  1. HTTP/1.x-Protokoll
    1. Anfrage- und Antwortformat
    2. Untersuchen von HTTP-Konversationen mit tcpdump und Wireshark
    3. Untersuchung von HTTP-Headern in einem Webbrowser
    4. Anfragen mit CURL stellen
    5. Allgemeine Header
    6. Anfrage-Pipelining
    7. Inhaltslänge und Chunked Encoding
    8. MIME-Typen
  2. Nginx Installation
    1. Installation von nginx aus Debian-Paketen
    2. Varianten von nginx verfügbar in Debian und Ubuntu
    3. Installation von nginx aus dem Quellcode
    4. Starten von nginx
    5. nginx upgraden
  3. Nginx als statischer Dateiserver
    1. Allgemeiner Aufbau der Konfigurationsdatei
    2. Einrichten von virtuellen Hosts
    3. Konfigurieren von Standorten
    4. Reihenfolge der Suche nach Standorten
    5. Einrichten von Fehlerseiten
    6. Ausgabe von Weiterleitungen
    7. Andere Formen des URL-Rewritings
    8. Servieren eines leeren GIF-Bildes
    9. Interne und benannte Speicherorte
    10. MIME-Typen außer Kraft setzen
  4. Client-seitige Leistungsoptimierung
    1. Erlauben der Zwischenspeicherung von Ressourcen durch Clients
    2. Die Vary:-Kopfzeile
    3. Minimierung der Anzahl von Anfragen
    4. Keep-alives
    5. Was ist, wenn sich eine Ressource ändern muss?
    6. Wie Web-Frameworks mit statischen Dateien umgehen
  5. Nachbearbeitung von Inhalten
    1. Gzip-Komprimierung
    2. Skalierung von Bildern
  6. Access Kontrolle
    1. Beschränkung des Zugriffs auf Dateien anhand der IP-Adresse
    2. Geografische Einschränkungen
    3. Verstecken von VCS-Verzeichnissen und privaten Dateien
    4. Grundlegende Authentifizierung
    5. Andere Arten der Authentifizierung
    6. Kombinieren von Einschränkungen
    7. Sichere Links
  7. Anwendung von Beschränkungen
    1. Traffic Shaping
    2. Gruppierung von Anfragen zum Zweck der Begrenzung
    3. Ratenbegrenzung für Anfragen
    4. Begrenzung der gleichzeitigen Verbindungen
  8. Nginx als Reverse-Proxy
    1. Unterstützte Upstream-Protokolle
    2. Umgang mit selbstsignierten Upstream-SSL-Zertifikaten
    3. Übergabe von Parametern an FastCGI- und uWSGI-Backends
    4. Proxying von Websocket-Verbindungen
    5. X-Accel-* Kopfzeilen
    6. Ändern von Headern, die von Upstreams empfangen und gesendet werden
  9. Sprachspezifische Reverse-Proxy-Einstellungen
    1. PHP
    2. Python
    3. Ruby
  10. Nginx als SSL-Terminator
    1. Erzeugen von selbstsignierten SSL-Zertifikaten
    2. Beziehen von Zertifikaten von Let's Encrypt
    3. Verfügbare Chiffren einschränken
    4. Arbeiten mit Sitzungstickets
    5. OCSP-Antworten stapeln
    6. Überprüfen der SSL-Konfiguration
    7. Akzeptieren von client-seitigen Zertifikaten
    8. HTTP/2-Überlegungen
  11. Lastausgleich mit Nginx
    1. Definieren von Upstream-Gruppen
    2. Sticky Sessions mit ip_hash
    3. Zusätzliche Funktionen von Nginx Plus als Lastausgleichsfunktion
    4. Alternativen zu Nginx und Nginx Plus
    5. Einen weiteren Nginx hinter einem Nginx Load Balancer platzieren
    6. Nginx hinter HAProxy oder AWS-Load-Balancer
  12. Nginx als Cache
    1. nginx anweisen, Seiten zu cachen
    2. Wie nginx auf standardmäßige cache-bezogene Header reagiert
    3. Abstimmbare Parameter von Caches
    4. Nginx Cache vs. Cache auf Anwendungsebene
    5. Den Cache leeren
  13. Einsatz von populären Webanwendungen mit Nginx
    1. Die Liste der zu besprechenden Anwendungen wird vom Trainer festgelegt
  14. Protokollierung
    1. Access Protokoll- und Fehlerprotokolldateien
    2. Festlegen eines eigenen Protokollformats
    3. Verfolgen langsamer Anfragen
    4. Optimierung der Protokollierung
    5. Log-Rotation
    6. Log-Analyse durch externe Programme
  15. Überwachung Nginx
    1. Nginx Stub-Statusseite
    2. Nginx Plus erweiterte Live-Statusseite
    3. Was Überwachungssysteme normalerweise aufzeichnen und melden Nginx
  16. [optional] Hochverfügbarkeit mit Nginx¹
    1. Wie man denselben statischen Inhalt auf mehreren Servern bereitstellt
    2. Gemeinsame Nutzung von Konfigurationen
    3. Ausfallsicherung mit einer elastischen/virtuellen IP-Adresse
    4. Einrichten von VRRP mit Keepalived
    5. Andere Hochverfügbarkeits-Stacks
    6. Nginx Plus-Integration mit Keepalived
  17. Häufige Fehler und Sicherheitsprobleme im Zusammenhang mit der Nginx-Konfiguration
  18. Häufige Leistungsprobleme

¹ Der Abschnitt Hochverfügbarkeit beinhaltet ein Netzwerk-Setup, das Intrusion-Detection-Systeme unglücklich macht oder die Einrichtung mehrerer virtueller Maschinen pro Teilnehmer erfordert (was für kein anderes Thema erforderlich ist). Er ist daher nicht standardmäßig vorgesehen.

Voraussetzungen

Die Teilnehmer müssen mit der Linux-Befehlszeile vertraut sein und über Grundkenntnisse in TCP/IP verfügen.

 21 Stunden

Teilnehmerzahl


Price per participant (excl. VAT)

Erfahrungsberichte (1)

Kommende Kurse

Verwandte Kategorien