Plan Szkolenia
- Protokół HTTP/1.x
- Format żądania i odpowiedzi
- Sprawdzanie konwersacji HTTP za pomocą tcpdump i Wireshark
- Sprawdzanie nagłówków HTTP w przeglądarce internetowej
- Wykonywanie żądań za pomocą CURL
- Wspólne nagłówki
- Potokowanie żądań
- Długość zawartości i kodowanie fragmentaryczne
- Typy MIME
- Instalacja Nginx
- Instalowanie nginx z pakietów Debian
- Warianty nginx dostępne w Debian i Ubuntu
- Instalowanie nginx ze źródła
- Uruchamianie nginx
- Aktualizacja nginx
- Nginx jako statyczny serwer plików
- Ogólna struktura pliku konfiguracyjnego
- Konfigurowanie hostów wirtualnych
- Konfigurowanie lokalizacji
- Kolejność wyszukiwania lokalizacji
- Konfigurowanie stron błędów
- Wydawanie przekierowań
- Inne formy przepisywania adresów URL
- Serwowanie pustego obrazu GIF
- Lokalizacje wewnętrzne i nazwane
- Zastępowanie typów MIME
- Optymalizacja wydajności po stronie klienta
- Zezwalanie klientom na buforowanie zasobów
- Nagłówek Vary:
- Minimalizacja liczby żądań
- Keep-alives
- Co jeśli zasób musi się zmienić?
- Jak frameworki internetowe radzą sobie z plikami statycznymi
- Przetwarzanie końcowe treści
- Kompresja Gzip
- Skalowanie obrazu
- Kontrola Access
- Ograniczanie dostępu do plików na podstawie adresu IP
- Ograniczenia geograficzne
- Ukrywanie katalogów VCS i plików prywatnych
- Podstawowe uwierzytelnianie
- Inne rodzaje uwierzytelniania
- Łączenie ograniczeń
- Bezpieczne łącza
- Stosowanie ograniczeń
- Kształtowanie ruchu
- Grupowanie żądań w celu ograniczenia
- Ograniczanie szybkości żądań
- Ograniczanie jednoczesnych połączeń
- Nginx jako odwrotny serwer proxy
- Obsługiwane protokoły upstream
- Radzenie sobie z samopodpisanymi certyfikatami SSL upstream
- Przekazywanie parametrów do backendów FastCGI i uWSGI
- Proksowanie połączeń websocket
- Nagłówki X-Accel-*
- Modyfikowanie nagłówków odbieranych i wysyłanych przez upstream
- Specyficzne dla języka konfiguracje odwrotnego serwera proxy
- PHP
- Python
- Ruby
- Nginx jako terminator SSL
- Generowanie samodzielnie podpisanych certyfikatów SSL
- Uzyskiwanie certyfikatów z Let's Encrypt
- Ograniczanie dostępnych szyfrów
- Praca z biletami sesji
- Zszywanie odpowiedzi OCSP
- Weryfikacja konfiguracji SSL
- Akceptowanie certyfikatów po stronie klienta
- Uwagi dotyczące protokołu HTTP/2
- Równoważenie obciążenia za pomocą Nginx
- Definiowanie grup upstream
- Lepkie sesje przy użyciu ip_hash
- Dodatkowe funkcje Nginx Plus jako równoważenia obciążenia
- Alternatywy dla Nginx i Nginx Plus
- Umieszczanie innego Nginx za Nginx load balancerem
- Nginx za HAProxy lub równoważeniem obciążenia AWS
- Nginx jako pamięć podręczna
- Nakazanie nginx buforowania stron
- Jak nginx reaguje na standardowe nagłówki związane z buforowaniem
- Dostrajanie parametrów pamięci podręcznej
- Pamięć podręczna a pamięć podręczna na poziomie aplikacji Nginx
- Czyszczenie pamięci podręcznej
- Wdrażanie popularnych aplikacji internetowych za pomocą Nginx
- Lista aplikacji do omówienia jest określana przez trenera
- Rejestrowanie
- Pliki dziennika i dziennika błędów Access
- Określanie niestandardowego formatu dziennika
- Śledzenie powolnych żądań
- Optymalizacja rejestrowania
- Rotacja dziennika
- Analiza dziennika przez zewnętrzne programy
- Monitorowanie Nginx
- Strona stanu odgałęzienia Nginx
- Nginx Plus rozszerzona strona stanu na żywo
- Co zwykle wykreślają i o czym alarmują systemy monitorowania Nginx
- [opcjonalnie] Wysoka dostępność z Nginx¹
- Jak wdrożyć tę samą zawartość statyczną na wielu serwerach
- Udostępnianie konfiguracji
- Przełączanie awaryjne przy użyciu elastycznego/wirtualnego adresu IP
- Konfigurowanie VRRP z Keepalived
- Inne stosy wysokiej dostępności
- Nginx Integracja Plus z Keepalived
- Typowe błędy i kwestie bezpieczeństwa związane z konfiguracją Nginx
- Typowe problemy z wydajnością
¹ Sekcja wysokiej dostępności obejmuje konfigurację sieci, która sprawia, że systemy wykrywania włamań są niezadowolone lub wymaga skonfigurowania wielu maszyn wirtualnych na uczestnika (czego nie wymaga żaden inny temat). Dlatego nie jest ona domyślnie dostępna.
Wymagania
Uczestnicy muszą swobodnie posługiwać się Linux wierszem poleceń i posiadać praktyczną wiedzę na temat protokołu TCP/IP.
Opinie uczestników (2)
platforma testowa ze środowiskiem chmurowym
Maciej Zabicki - Netia SA
Szkolenie - HTTP fundamentals and Nginx web server
Trener był bardzo wszechstronnie wykształcony i umiał odpowiedzieć na większość pytań, które były trochę poza zakresem tego, co musieliśmy omówić. Był dynamiczny, zabawny i uprzejmy.
Pascal Durocher - City of Montreal
Szkolenie - HTTP fundamentals and Nginx web server
Przetłumaczone przez sztuczną inteligencję