Course Code: httpngx
Duration: 21 hours
Prerequisites:

Uczestnicy muszą swobodnie posługiwać się Linux wierszem poleceń i posiadać praktyczną wiedzę na temat protokołu TCP/IP.

Overview:

Ten kurs jest przeznaczony dla administratorów systemów, którzy chcą być w stanie konfigurować i monitorować serwery WWW. Skupia się on zarówno na ogólnej teorii HTTP, jak i, od strony praktycznej, prezentuje konkretny wysokowydajny serwer WWW, Nginx.

Course Outline:
  1. Protokół HTTP/1.x
    1. Format żądania i odpowiedzi
    2. Sprawdzanie konwersacji HTTP za pomocą tcpdump i Wireshark
    3. Sprawdzanie nagłówków HTTP w przeglądarce internetowej
    4. Wykonywanie żądań za pomocą CURL
    5. Wspólne nagłówki
    6. Potokowanie żądań
    7. Długość zawartości i kodowanie fragmentaryczne
    8. Typy MIME
  2. Instalacja Nginx
    1. Instalowanie nginx z pakietów Debian
    2. Warianty nginx dostępne w Debian i Ubuntu
    3. Instalowanie nginx ze źródła
    4. Uruchamianie nginx
    5. Aktualizacja nginx
  3. Nginx jako statyczny serwer plików
    1. Ogólna struktura pliku konfiguracyjnego
    2. Konfigurowanie hostów wirtualnych
    3. Konfigurowanie lokalizacji
    4. Kolejność wyszukiwania lokalizacji
    5. Konfigurowanie stron błędów
    6. Wydawanie przekierowań
    7. Inne formy przepisywania adresów URL
    8. Serwowanie pustego obrazu GIF
    9. Lokalizacje wewnętrzne i nazwane
    10. Zastępowanie typów MIME
  4. Optymalizacja wydajności po stronie klienta
    1. Zezwalanie klientom na buforowanie zasobów
    2. Nagłówek Vary:
    3. Minimalizacja liczby żądań
    4. Keep-alives
    5. Co jeśli zasób musi się zmienić?
    6. Jak frameworki internetowe radzą sobie z plikami statycznymi
  5. Przetwarzanie końcowe treści
    1. Kompresja Gzip
    2. Skalowanie obrazu
  6. Kontrola Access
    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 łącza
  7. Stosowanie ograniczeń
    1. Kształtowanie ruchu
    2. Grupowanie żądań w celu ograniczenia
    3. Ograniczanie szybkości żądań
    4. Ograniczanie jednoczesnych połączeń
  8. Nginx jako odwrotny serwer proxy
    1. Obsługiwane protokoły upstream
    2. Radzenie sobie z samopodpisanymi certyfikatami SSL upstream
    3. Przekazywanie parametrów do backendów FastCGI i uWSGI
    4. Proksowanie połączeń websocket
    5. Nagłówki X-Accel-*
    6. Modyfikowanie nagłówków odbieranych i wysyłanych przez upstream
  9. Specyficzne dla języka konfiguracje odwrotnego serwera proxy
    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. Zszywanie odpowiedzi OCSP
    6. Weryfikacja konfiguracji SSL
    7. Akceptowanie certyfikatów po stronie klienta
    8. Uwagi dotyczące protokołu HTTP/2
  11. Równoważenie obciążenia za pomocą Nginx
    1. Definiowanie grup upstream
    2. Lepkie sesje przy użyciu ip_hash
    3. Dodatkowe funkcje Nginx Plus jako równoważenia obciążenia
    4. Alternatywy dla Nginx i Nginx Plus
    5. Umieszczanie innego Nginx za Nginx load balancerem
    6. Nginx za HAProxy lub równoważeniem obciążenia AWS
  12. Nginx jako pamięć podręczna
    1. Nakazanie nginx buforowania stron
    2. Jak nginx reaguje na standardowe nagłówki związane z buforowaniem
    3. Dostrajanie parametrów pamięci podręcznej
    4. Pamięć podręczna a pamięć podręczna na poziomie aplikacji Nginx
    5. Czyszczenie pamięci podręcznej
  13. Wdrażanie popularnych aplikacji internetowych za pomocą Nginx
    1. Lista aplikacji do omówienia jest określana przez trenera
  14. Rejestrowanie
    1. Pliki dziennika i dziennika błędów Access
    2. Określanie niestandardowego formatu dziennika
    3. Śledzenie powolnych żądań
    4. Optymalizacja rejestrowania
    5. Rotacja dziennika
    6. Analiza dziennika przez zewnętrzne programy
  15. Monitorowanie Nginx
    1. Strona stanu odgałęzienia Nginx
    2. Nginx Plus rozszerzona strona stanu na żywo
    3. Co zwykle wykreślają i o czym alarmują systemy monitorowania Nginx
  16. [opcjonalnie] Wysoka dostępność z Nginx¹
    1. Jak wdrożyć tę samą zawartość statyczną na wielu serwerach
    2. Udostępnianie konfiguracji
    3. Przełączanie awaryjne przy użyciu elastycznego/wirtualnego adresu IP
    4. Konfigurowanie VRRP z Keepalived
    5. Inne stosy wysokiej dostępności
    6. Nginx Integracja Plus z Keepalived
  17. Typowe błędy i kwestie bezpieczeństwa związane z konfiguracją Nginx
  18. 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.

Sites Published:

United Arab Emirates - HTTP fundamentals and Nginx web server

Qatar - HTTP fundamentals and Nginx web server

Egypt - HTTP fundamentals and Nginx web server

Saudi Arabia - HTTP fundamentals and Nginx web server

South Africa - HTTP fundamentals and Nginx web server

Brasil - HTTP fundamentals and Nginx web server

Canada - HTTP fundamentals and Nginx web server

中国 - HTTP fundamentals and Nginx web server

香港 - HTTP fundamentals and Nginx web server

澳門 - HTTP fundamentals and Nginx web server

台灣 - HTTP fundamentals and Nginx web server

USA - HTTP fundamentals and Nginx web server

Österreich - HTTP fundamentals and Nginx web server

Schweiz - HTTP fundamentals and Nginx web server

Deutschland - HTTP fundamentals and Nginx web server

Czech Republic - HTTP fundamentals and Nginx web server

Denmark - HTTP fundamentals and Nginx web server

Estonia - HTTP fundamentals and Nginx web server

Finland - HTTP fundamentals and Nginx web server

Greece - HTTP fundamentals and Nginx web server

Magyarország - HTTP fundamentals and Nginx web server

Ireland - HTTP fundamentals and Nginx web server

Luxembourg - HTTP fundamentals and Nginx web server

Latvia - HTTP fundamentals and Nginx web server

España - Fundamentos HTTP y servidor web Nginx

Italia - HTTP fundamentals and Nginx web server

Lithuania - HTTP fundamentals and Nginx web server

Nederland - HTTP fundamentals and Nginx web server

Norway - HTTP fundamentals and Nginx web server

Portugal - HTTP fundamentals and Nginx web server

România - HTTP fundamentals and Nginx web server

Sverige - HTTP fundamentals and Nginx web server

Türkiye - HTTP fundamentals and Nginx web server

Malta - HTTP fundamentals and Nginx web server

Belgique - HTTP fundamentals and Nginx web server

France - HTTP fundamentals and Nginx web server

日本 - HTTP fundamentals and Nginx web server

Australia - HTTP fundamentals and Nginx web server

Malaysia - HTTP fundamentals and Nginx web server

New Zealand - HTTP fundamentals and Nginx web server

Philippines - HTTP fundamentals and Nginx web server

Singapore - HTTP fundamentals and Nginx web server

Thailand - HTTP fundamentals and Nginx web server

Vietnam - HTTP fundamentals and Nginx web server

India - HTTP fundamentals and Nginx web server

Argentina - Fundamentos HTTP y servidor web Nginx

Chile - Fundamentos HTTP y servidor web Nginx

Costa Rica - Fundamentos HTTP y servidor web Nginx

Ecuador - Fundamentos HTTP y servidor web Nginx

Guatemala - Fundamentos HTTP y servidor web Nginx

Colombia - Fundamentos HTTP y servidor web Nginx

México - Fundamentos HTTP y servidor web Nginx

Panama - Fundamentos HTTP y servidor web Nginx

Peru - Fundamentos HTTP y servidor web Nginx

Uruguay - Fundamentos HTTP y servidor web Nginx

Venezuela - Fundamentos HTTP y servidor web Nginx

Polska - HTTP fundamentals and Nginx web server

United Kingdom - HTTP fundamentals and Nginx web server

South Korea - HTTP fundamentals and Nginx web server

Pakistan - HTTP fundamentals and Nginx web server

Sri Lanka - HTTP fundamentals and Nginx web server

Bulgaria - HTTP fundamentals and Nginx web server

Bolivia - Fundamentos HTTP y servidor web Nginx

Indonesia - HTTP fundamentals and Nginx web server

Kazakhstan - HTTP fundamentals and Nginx web server

Moldova - HTTP fundamentals and Nginx web server

Morocco - HTTP fundamentals and Nginx web server

Tunisia - HTTP fundamentals and Nginx web server

Kuwait - HTTP fundamentals and Nginx web server

Oman - HTTP fundamentals and Nginx web server

Slovakia - HTTP fundamentals and Nginx web server

Kenya - HTTP fundamentals and Nginx web server

Nigeria - HTTP fundamentals and Nginx web server

Botswana - HTTP fundamentals and Nginx web server

Slovenia - HTTP fundamentals and Nginx web server

Croatia - HTTP fundamentals and Nginx web server

Serbia - HTTP fundamentals and Nginx web server

Bhutan - HTTP fundamentals and Nginx web server

Nepal - HTTP fundamentals and Nginx web server

Uzbekistan - HTTP fundamentals and Nginx web server