Plan Szkolenia

  1. Protokół HTTP/1.x
    1. Format żądania i odpowiedzi
    2. Analiza konwersacji HTTP za pomocą tcpdump i Wireshark
    3. Analiza nagłówków HTTP w przeglądarce internetowej
    4. Wysyłanie żądań za pomocą CURL
    5. Typowe nagłówki
    6. Przesyłanie żądań potokowo
    7. Długość treści i kodowanie fragmentami
    8. Typy MIME
  2. Instalacja Nginx
    1. Instalacja nginx z pakietów Debian
    2. Warianty nginx dostępne w Debian i Ubuntu
    3. Instalacja nginx ze źródeł
    4. Uruchamianie nginx
    5. Aktualizacja nginx
  3. Nginx jako serwer plików statycznych
    1. Ogólna struktura pliku konfiguracyjnego
    2. Konfiguracja hostów wirtualnych
    3. Konfiguracja lokalizacji
    4. Kolejność wyszukiwania lokalizacji
    5. Konfiguracja stron błędów
    6. Przekierowania
    7. Inne formy modyfikacji URL
    8. Serwowanie pustego obrazu GIF
    9. Lokalizacje wewnętrzne i nazwane
    10. Nadpisywanie typów MIME
  4. Optymalizacja wydajności po stronie klienta
    1. Pozwolenie klientom na buforowanie zasobów
    2. Nagłówek Vary:
    3. Minimalizacja liczby żądań
    4. Połączenia Keep-alive
    5. Co zrobić, jeśli zasób się zmieni
    6. Jak frameworki internetowe radzą sobie z plikami statycznymi
  5. Przetwarzanie treści po stronie serwera
    1. Kompresja Gzip
    2. Skalowanie obrazów
  6. Kontrola dostępu
    1. Ograniczanie dostępu do plików na podstawie adresu IP
    2. Ograniczenia geograficzne
    3. Ukrywanie katalogów VCS i plików prywatnych
    4. Podstawowe uwierzytelnianie
    5. Inne rodzaje uwierzytelniania
    6. Łączenie ograniczeń
    7. Bezpieczne linki
  7. Stosowanie ograniczeń
    1. Kształtowanie ruchu
    2. Grupowanie żądań w celu ograniczenia
    3. Ograniczanie liczby żądań
    4. Ograniczanie jednoczesnych połączeń
  8. Nginx jako reverse proxy
    1. Obsługiwane protokoły upstream
    2. Obsługa samodzielnie podpisanych certyfikatów SSL upstream
    3. Przekazywanie parametrów do backendów FastCGI i uWSGI
    4. Proxy dla połączeń websocket
    5. Nagłówki X-Accel-*
    6. Modyfikacja nagłówków odbieranych i wysyłanych przez upstream
  9. Konfiguracje reverse proxy dla różnych języków
    1. PHP
    2. Python
    3. Ruby
  10. Nginx jako terminator SSL
    1. Generowanie samodzielnie podpisanych certyfikatów SSL
    2. Uzyskiwanie certyfikatów z Let's Encrypt
    3. Ograniczanie dostępnych szyfrów
    4. Praca z biletami sesji
    5. Przypinanie odpowiedzi OCSP
    6. Weryfikacja konfiguracji SSL
    7. Akceptowanie certyfikatów po stronie klienta
    8. Zagadnienia dotyczące HTTP/2
  11. Równoważenie obciążenia z Nginx
    1. Definiowanie grup upstream
    2. Sesje przyklejone za pomocą ip_hash
    3. Dodatkowe funkcje Nginx Plus jako balansera obciążenia
    4. Alternatywy dla Nginx i Nginx Plus
    5. Umieszczenie innego Nginx za balanserem Nginx
    6. Nginx za HAProxy lub balanserem AWS
  12. Nginx jako pamięć podręczna
    1. Konfiguracja Nginx do buforowania stron
    2. Reakcja Nginx na standardowe nagłówki związane z buforowaniem
    3. Parametry konfigurowalne pamięci podręcznej
    4. Pamięć podręczna Nginx a pamięć podręczna na poziomie aplikacji
    5. Czyszczenie pamięci podręcznej
  13. Wdrażanie popularnych aplikacji internetowych z Nginx
    1. Lista aplikacji do omówienia jest ustalana przez trenera
  14. Logowanie
    1. Pliki dziennika dostępu i błędów
    2. Definiowanie własnego formatu logów
    3. Śledzenie wolnych żądań
    4. Optymalizacja logowania
    5. Rotacja logów
    6. Analiza logów przez zewnętrzne programy
  15. Monitorowanie Nginx
    1. Strona statusu Nginx stub
    2. Rozszerzona strona statusu Nginx Plus
    3. Co systemy monitorowania zazwyczaj śledzą i alarmują w przypadku Nginx
  16. [opcjonalnie] Wysoka dostępność z Nginx¹
    1. Jak wdrożyć tę samą zawartość statyczną na wielu serwerach
    2. Współdzielenie konfiguracji
    3. Fail-over przy użyciu elastycznego/wirtualnego adresu IP
    4. Konfiguracja VRRP z Keepalived
    5. Inne stosy wysokiej dostępności
    6. Integracja Nginx Plus z Keepalived
  17. Typowe błędy i problemy bezpieczeństwa związane z konfiguracją Nginx
  18. Typowe problemy z wydajnością

¹ Sekcja dotycząca wysokiej dostępności obejmuje konfigurację sieciową, która może powodować problemy z systemami wykrywania włamań lub wymaga konfiguracji wielu maszyn wirtualnych na uczestnika (czego żaden inny temat nie wymaga). Dlatego nie jest dostarczana domyślnie.

Wymagania

Uczestnicy muszą być zaznajomieni z linią poleceń w systemie Linux oraz posiadać podstawową wiedzę na temat TCP/IP.

 21 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie