Course Outline
HTTP/1.x-protocol Verzoek- en antwoordformaat HTTP-gesprekken inspecteren met tcpdump en Wireshark HTTP-headers inspecteren in een webbrowser Verzoeken doen met CURL Algemene headers Pipelining aanvragen Inhoudslengte en gefragmenteerde codering MIME-typen
Nginx installatie Nginx installeren vanuit Debian-pakketten
Varianten van nginx beschikbaar in Debian en UbuntuNginx installeren vanaf de broncodeNginx startenNginx upgradenNginx als statische bestandsserver Algemene structuur van het configuratiebestandVirtuele hosts instellen
Locaties configurerenOpzoekvolgorde van locatieFoutpagina's instellenHet uitgeven van omleidingenAndere vormen van URL-herschrijvingEen lege GIF-afbeelding weergevenInterne en benoemde locatiesMIME-typen overschrijvenPrestatieoptimalisatie aan de clientzijde Hiermee kunnen clients bronnen in de cache opslaanDe Vary: koptekstHet minimaliseren van het aantal verzoeken
Keep-alivesWat als een hulpbron moet veranderen?Hoe webframeworks omgaan met statische bestandenNabewerking van inhoud Gzip-compressieSchalen van afbeeldingenAccess controle Beperking van de toegang tot bestanden op basis van IP-adresGeografische beperkingen
VCS-mappen en privébestanden verbergenBasisauthenticatieAndere soorten authenticatie
Het combineren van beperkingenVeilige koppelingenGrenzen stellen Traffic shapingHet groeperen van verzoeken met het oog op beperkingTariefbeperkende verzoekenGelijktijdige verbindingen beperkenNginx als reverse proxy Ondersteunde upstream-protocollenOmgaan met zelfondertekende upstream SSL-certificaten
Parameters doorgeven aan FastCGI- en uWSGI-backendsProxy-websocket-verbindingenX-Accel-*-headersHeaders aanpassen die upstream zijn ontvangen en verzondenTaalspecifieke reverse proxy-instellingen PHP
PythonRubyNginx als SSL-terminator Zelfondertekende SSL-certificaten genererenCertificaten verkrijgen van Let's EncryptBeschikbare cijfers beperkenWerken met sessieticketsOCSP-reacties nieten
SSL-configuratie verifiërenCertificaten aan de clientzijde accepterenHTTP/2-overwegingenLoad-balancing met Nginx Upstream-groepen definiëren
Sticky-sessies met ip_hashExtra functies van Nginx Plus als load balancerAlternatieven voor Nginx en Nginx PlusEen andere Nginx achter een Nginx load balancer plaatsenNginx achter HAProxy of AWS load balancerNginx als cache Vertellen aan nginx om pagina's in de cache te plaatsenHoe nginx reageert op standaard caching-gerelateerde headersAfstembare parameters van cachesNginx cache versus cache op applicatieniveau
De cache leegmakenPopulaire webapplicaties inzetten met Nginx De lijst met te bespreken applicaties wordt bepaald door de trainerLogboekregistratie Access log- en foutlogbestandenAangepast logformaat opgevenLangzame verzoeken volgenLogboekregistratie optimaliserenLogrotatie
Loganalyse door externe programma'sMonitoring Nginx Nginx stubstatuspaginaNginx Plus uitgebreide livestatuspaginaWelke monitoringsystemen gewoonlijk in kaart brengen en waarschuwen Nginx[optioneel] Hoge beschikbaarheid met Nginx¹ Hoe u dezelfde statische inhoud op meerdere servers kunt implementerenConfiguratie delen
Fail-over met behulp van een elastisch/virtueel IP-adresVRRP instellen met Keepalived
Andere stapels met hoge beschikbaarheidNginx Plus integratie met KeepalivedVeelvoorkomende fouten en beveiligingsproblemen met betrekking tot Nginx configuratieVeelvoorkomende prestatieproblemen¹ Het gedeelte Hoge beschikbaarheid heeft betrekking op een netwerkconfiguratie die inbraakdetectiesystemen ongelukkig maakt, of vereist het instellen van meerdere virtuele machines per deelnemer (wat geen enkel ander onderwerp nodig heeft). Het wordt dus niet standaard meegeleverd.
Requirements
Deelnemers moeten vertrouwd zijn met een Linux-opdrachtregel en praktische kennis hebben van TCP/IP