Schulungsübersicht
HTTP/1.x-Protokoll Anforderungs- und Antwortformat Überprüfen von HTTP-Konversationen mit tcpdump und Wireshark Überprüfen von HTTP-Headern in einem Webbrowser Erstellen von Anforderungen mit CURL Gemeinsame Header Anforderungs-Pipelining Inhaltslänge und Chunked-Codierung MIME-Typen
Nginx Installation Installation von Nginx aus Debian-Paketen
Varianten von Nginx verfügbar in Debian und UbuntuNginx von der Quelle installierenNginx startenNginx aktualisierenNginx als statischer Dateiserver Allgemeiner Aufbau der KonfigurationsdateiVirtuelle Hosts einrichten
Standorte konfigurierenReihenfolge der StandortsucheFehlerseiten einrichtenWeiterleitungen ausstellenAndere Formen des URL-RewritingsBereitstellung eines leeren GIF-BildesInterne und benannte StandorteÜberschreiben von MIME-TypenClientseitige Leistungsoptimierung, die es Clients ermöglicht, Ressourcen zwischenzuspeichernThe Vary: KopfzeileMinimierung der Anzahl der Anfragen
Keep-AlivesWas passiert, wenn eine Ressource geändert werden muss?Wie Web-Frameworks mit statischen Dateien umgehenGzip-Komprimierung für die Nachbearbeitung von InhaltenBildskalierungAccess-Steuerung Einschränken des Zugriffs auf Dateien basierend auf der IP-AdresseGeografische Beschränkungen
VCS-Verzeichnisse und private Dateien ausblendenBasisauthentifizierungAndere Arten der Authentifizierung
Einschränkungen kombinierenSichere LinksAnwenden von Grenzwerten Traffic ShapingGruppieren von Anfragen zum Zweck der EinschränkungAnfragen zur RatenbegrenzungBeschränkung gleichzeitiger VerbindungenNginx Als Reverse-Proxy werden Upstream-Protokolle unterstütztUmgang mit selbstsignierten Upstream-SSL-Zertifikaten
Übergabe von Parametern an FastCGI- und uWSGI-BackendsProxying von WebSocket-VerbindungenX-Accel-*-HeaderÄndern der vom Upstream empfangenen und gesendeten HeaderSprachspezifische Reverse-Proxy-Setups PHP
PythonRubyNginx als SSL-Terminator Generieren selbstsignierter SSL-ZertifikateZertifikate von Let's Encrypt beziehenEinschränken der verfügbaren ChiffrenArbeiten mit SitzungsticketsHeften von OCSP-Antworten
Überprüfung der SSL-KonfigurationAkzeptieren clientseitiger ZertifikateÜberlegungen zu HTTP/2Lastausgleich mit Nginx Definieren von Upstream-Gruppen
Sticky-Sitzungen mit ip_hashZusätzliche Funktionen von Nginx Plus als Load BalancerAlternativen zu Nginx und Nginx PlusEinen weiteren Nginx hinter einen Nginx Load Balancer stellenNginx hinter HAProxy oder AWS Load BalancerNginx als Cache. Nginx anweisen, Seiten zwischenzuspeichernWie Nginx auf Standard-Caching-bezogene Header reagiertEinstellbare Parameter von CachesNginx Cache vs. Cache auf Anwendungsebene
Cache leerenBereitstellung beliebter Webanwendungen mit Nginx Die Liste der zu besprechenden Anwendungen wird vom Trainer festgelegtProtokollierung Access Protokoll- und FehlerprotokolldateienAngeben eines benutzerdefinierten ProtokollformatsLangsame Anfragen verfolgenOptimierung der ProtokollierungProtokollrotation
Protokollanalyse durch externe ProgrammeÜberwachung Nginx Nginx Stub-StatusseiteNginx Plus erweiterte Live-StatusseiteWorüber Überwachungssysteme normalerweise zeichnen und warnen Nginx[optional] Hohe Verfügbarkeit mit Nginx¹ So stellen Sie denselben statischen Inhalt auf mehreren Servern bereitKonfigurationsfreigabe
Failover mit einer elastischen/virtuellen IP-AdresseVRRP mit Keepalived einrichten
Andere Hochverfügbarkeits-StacksNginx Plus Integration mit KeepalivedHäufige Fehler und Sicherheitsprobleme im Zusammenhang mit der Nginx-KonfigurationHäufige Leistungsprobleme¹ Der Abschnitt „Hochverfügbarkeit“ umfasst eine Netzwerkeinrichtung, die Intrusion-Detection-Systeme unzufrieden macht, oder erfordert die Einrichtung mehrerer virtueller Maschinen pro Teilnehmer (was in keinem anderen Thema erforderlich ist). Daher wird es nicht standardmäßig bereitgestellt.
Voraussetzungen
Die Teilnehmer müssen mit der Linux-Befehlszeile vertraut sein und über Grundkenntnisse in TCP/IP verfügen.