Kurzusleírás
HTTP/1.x protokoll Kérelem- és válaszformátum HTTP-beszélgetések vizsgálata tcpdump és Wireshark segítségével HTTP-fejlécek vizsgálata webböngészőben Kérések készítése CURL-lel Gyakori fejlécek Csővezetékezés kérése Tartalomhossz és csonkított kódolás MIME-típusok
Nginx telepítés Az nginx telepítése Debian csomagokból
Az nginx változatai Debianban és UbuntuAz nginx telepítése forrásbólnginx indításaNginx frissítéseNginx statikus fájlszerverként A konfigurációs fájl általános szerkezeteVirtuális gazdagépek beállítása
Helyek konfigurálásaHelykeresési sorrendHibaoldalak beállításaÁtirányítások kiadásaAz URL-újraírás egyéb formáiÜres GIF-kép megjelenítéseBelső és elnevezett helyekMIME-típusok felülbírálásaÜgyféloldali teljesítményoptimalizálás Lehetővé teszi az ügyfelek számára az erőforrások gyorsítótárazásátA Vary: fejlécA kérések számának minimalizálása
Életben tartaniMi van, ha egy erőforráson változtatni kellHogyan kezelik a webes keretrendszerek a statikus fájlokatTartalom utófeldolgozása Gzip tömörítésKépméretezésAccess vezérlés Fájlokhoz való hozzáférés korlátozása IP-cím alapjánFöldrajzi korlátozások
VCS-könyvtárak és privát fájlok elrejtéseAlapvető hitelesítésMás típusú hitelesítés
A korlátozások kombinálásaBiztonságos linkekKorlátozások alkalmazása Forgalom alakításaKérelmek csoportosítása korlátozás céljábólDíjkorlátozó kérésekAz egyidejű kapcsolatok korlátozásaNginx fordított proxyként Támogatott upstream protokollokÖnaláírt upstream SSL-tanúsítványok kezelése
Paraméterek átadása a FastCGI és uWSGI háttérprogramoknakProxy websocket kapcsolatokX-Accel-* fejlécekAz upstream által fogadott és küldött fejlécek módosításaNyelvspecifikus fordított proxy beállítások PHP
PythonRubyNginx SSL-lezáróként Önaláírt SSL-tanúsítványok generálásaTanúsítványok beszerzése a Let's Encrypt szolgáltatástólAz elérhető titkosítások korlátozásaMunkamenet jegyekkelOCSP válaszok tűzése
Az SSL konfiguráció ellenőrzéseÜgyféloldali tanúsítványok elfogadásaHTTP/2 szempontokLoad Balancing with Nginx Upstream csoportok meghatározása
Ragadós munkamenetek az ip_hash használatávalA Nginx Plus extra funkciói terheléselosztókéntA Nginx és a Nginx Plus alternatíváiEgy másik Nginx elhelyezése egy Nginx terheléselosztó mögöttNginx HAProxy vagy AWS terheléselosztó mögöttNginx gyorsítótárként Az nginxnek az oldalak gyorsítótárba helyezéseHogyan reagál az nginx a szabványos gyorsítótárazással kapcsolatos fejlécekreA gyorsítótárak hangolható paramétereiNginx gyorsítótár vs alkalmazásszintű gyorsítótár
A gyorsítótár törléseNépszerű webalkalmazások telepítése Nginx segítségével A megbeszélendő alkalmazások listáját a tréner határozza megA Access napló- és hibanaplófájlok naplózásaEgyéni naplóformátum megadásaA lassú kérések nyomon követéseA naplózás optimalizálásaNapló forgatás
Naplóelemzés külső programokkalMonitoring Nginx Nginx csonk állapotoldalNginx Plusz kiterjesztett élő állapotoldalA megfigyelő rendszerek általában mit ábrázolnak és figyelmeztetnek Nginx[opcionális] Magas rendelkezésre állás a Nginx-mal¹ Ugyanannak a statikus tartalomnak a telepítése több szerverreKonfiguráció megosztása
Feladatátvétel rugalmas/virtuális IP-cím használatávalA VRRP beállítása a Keepalived segítségével
Egyéb magas rendelkezésre állású stackekNginx Plusz integráció a KeepaliveddelGyakori hibák és biztonsági problémák a Nginx konfigurációval kapcsolatbanGyakori teljesítményproblémák¹ A Magas szintű rendelkezésre állás szakasz olyan hálózati beállítást tartalmaz, amely boldogtalanná teszi a behatolásészlelő rendszereket, vagy résztvevőnként több virtuális gép beállítását teszi szükségessé (amire más témakörnek nincs szüksége). Tehát alapértelmezés szerint nincs megadva.
Követelmények
A résztvevőknek jól kell tudniuk a Linux parancssort, és ismerniük kell a TCP/IP-t