План на курса
Протокол HTTP/1.x Формат на заявка и отговор Проверка на HTTP разговори с tcpdump и Wireshark Проверка на HTTP заглавки в уеб браузър Правене на заявки с CURL Общи заглавки Конвейер на заявки Дължина на съдържанието и типове MIME кодиране на части
Nginx инсталация Инсталиране на nginx от пакети на Debian
Варианти на nginx, налични в Debian и UbuntuИнсталиране на nginx от източникаСтартиране на nginxНадграждане на nginxNginx като статичен файлов сървър Обща структура на конфигурационния файлНастройка на виртуални хостове
Конфигуриране на местоположенияРед за търсене на местоположениеНастройване на страници за грешкиИздаване на пренасочванияДруги форми на пренаписване на URL адресиСервиране на празно GIF изображениеВътрешни и именувани местоположенияЗамяна на MIME типовеОптимизиране на производителността от страна на клиента Разрешаване на клиентите да кешират ресурсиЗаглавката Vary:Минимизиране на броя на заявките
Keep-alivesАми ако даден ресурс трябва да се промениКак уеб рамките се справят със статични файловеGzip компресия за последваща обработка на съдържаниетоМащабиране на изображениетоAccess контрол Ограничаване на достъпа до файлове въз основа на IP адресГеографски ограничения
Скриване на VCS директории и лични файловеОсновно удостоверяванеДруги видове удостоверяване
Комбиниране на ограниченияСигурни връзкиПрилагане на ограничения Оформяне на трафикГрупиране на заявки с цел ограничаванеЗаявки за ограничаване на скоросттаОграничаване на едновременните връзкиNginx като обратен прокси Поддържани протоколи нагоре по веригатаРабота със самоподписани SSL сертификати нагоре по веригата
Предаване на параметри към бекенда на FastCGI и uWSGIПроксиране на уебсокет връзкиX-Accel-* заглавкиМодифициране на заглавки, получени и изпратени от upstreamКонкретни за езика настройки за обратен прокси PHP
PythonRubyNginx като SSL терминатор Генериране на самоподписани SSL сертификатиПолучаване на сертификати от Let's EncryptОграничаване на наличните шифриРабота със сесийни билетиПодхващане на OCSP отговори
Проверка на конфигурацията на SSLПриемане на сертификати от страна на клиентаHTTP/2 съображенияБалансиране на натоварването с Nginx Дефиниране на групи нагоре по веригата
Залепващи сесии, използващи ip_hashДопълнителни функции на Nginx Plus като балансьор на натоварванетоАлтернативи на Nginx и Nginx PlusПоставяне на друг Nginx зад Nginx балансьор на натоварванетоNginx зад HAProxy или AWS load balancerNginx като кеш Указване на nginx да кешира страницитеКак nginx реагира на стандартни заглавки, свързани с кеширанеРегулируеми параметри на кеш паметтаNginx Кеш срещу кеш на ниво приложение
Изчистване на кешаРазполагане на популярни уеб приложения с Nginx Списъкът с приложения, които ще бъдат обсъждани, се определя от обучителяРегистриране Access регистрационни файлове и регистрационни файлове за грешкиЗадаване на персонализиран формат на журналаПроследяване на бавни заявкиОптимизиране на регистриранеРотация на трупи
Анализ на регистрационни файлове от външни програмиМониторинг Nginx Nginx страница със статус на мъничеNginx Плюс разширена страница за състояние на живоКакво системите за наблюдение обикновено изготвят и предупреждават Nginx[по избор] Висока достъпност с Nginx¹ Как да внедрите едно и също статично съдържание на множество сървъриСподеляне на конфигурация
Превключване при отказ с помощта на еластичен/виртуален IP адресНастройване на VRRP с Keepalived
Други стекове с висока наличностNginx Плюс интеграция с KeepalivedЧесто срещани грешки и проблеми със сигурността, свързани с Nginx конфигурацияЧесто срещани проблеми с производителността¹ Разделът за висока наличност включва мрежова настройка, която прави системите за откриване на проникване неудовлетворени или изисква настройка на множество виртуални машини на участник (от което никоя друга тема не се нуждае). Така че не е предоставено по подразбиране.
Изисквания
Участниците трябва да се справят добре с командния ред Linux и да имат практически познания за TCP/IP