С помощью существующего протокола единого входа OpenID Connect 1 страница
Www. дмк . рф
ISBN 978-5-97060-790-9
9 785970 607909
ДерекдеЙонге
|
NGINX.
Книга рецептов
|
2019 UPDATE
NGINX Cookbook
|
Load Balancing
Derek DeJonghe
Beijing • Cambridge • Farnham • Köln • Sebastopol • Tokyo
NGINX. Книга рецептов
Продвинутые рецепты высокопроизводительной
|
Дерек де Йонге
Перевод с английского Беликова Д. А.
Москва, 2020
|
ББК 32.972
Й 11
Й11 Дерек де Йонге
NGINX. Книга рецептов. / пер. с англ. Д. А. Беликова. – М.: ДМК Пресс, 2020. – 176 с.: ил.
ISBN 978-5-97060-790-9
|
Издание предназначено для администраторов и разработчиков сайтов.
УДК 004.42
ББК 32.972
Original English language edition published by O'Reilly Media, Inc. Copyright © 2019 O'Reilly Media Inc. All rights reserved. Russian-language edition copyright © 2019 by DMK Press. All rights reserved.
|
|
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, свя- занные с использованием книги.
ISBN 978-1-49196-893-2 (англ.) © 2019 O'Reilly Media Inc. All rights reserved.
ISBN 978-5-97060-790-9 (рус.) © Оформление, перевод на русский язык, издание,
ДМК Пресс, 2020
Оглавление
Предисловие от издательства................................................................................ 10
|
Глава 1. Основы..................................................................................................... 12
1.0. Введение................................................................................................... 12
1.1. Установка на компьютер с Debian/Ubuntu............................................................. 12
1.2. Установка на компьютер с RedHat/CentOS............................................................ 13
1.3. Установка NGINX Plus.................................................................................................. 14
|
|
1.4. Проверка установки................................................................................... 15
1.5. Ключевые файлы, команды и каталоги..................................................... 16
1.6. Обслуживание статического контента....................................................... 18
1.7. Аккуратная перезагрузка............................................................................ 19
Глава 2. Высокопроизводительная балансировка нагрузки..................................... 20
2.0. Введение................................................................................................... 20
2.1.
|
2.2. Балансировка нагрузки для TCP................................................................................ 23
2.3. Балансировка нагрузки UDP....................................................................................... 24
2.4. Методы балансировки нагрузки................................................................ 26
2.5. Директива sticky cookie................................................................................................. 28
2.6. Директива sticky learn................................................................................................... 29
2.7. Директива sticky route.................................................................................................... 30
2.8. Осушение соединения.............................................................................. 32
2.9. Пассивные проверки работоспособности.................................................. 33
2.10. Активные проверки работоспособности.................................................. 34
|
|
2.11. Медленный запуск................................................................................... 36
2.12. Проверки работоспособности TCP.......................................................................... 37
Глава 3. Управление трафиком.............................................................................. 39
3.0. Введение................................................................................................... 39
3.1. A/B-тестирование...................................................................................... 39
3.2. Использование модуля GeoIP и базы данных........................................... 40
3.3. Ограничение доступа в зависимости от страны........................................ 43
6 v Оглавление
3.4. Поиск исходного клиента........................................................................... 44
3.5. Ограничение подключений........................................................................ 45
3.6. Ограничение скорости............................................................................... 46
3.7. Ограничение пропускной способности....................................................... 48
Глава 4. Массивно масштабируемое кеширование контента.................................. 50
4.0.
|
4.1. Кеширование зон....................................................................................... 50
4.2. Хеш-ключи кеширования........................................................................... 52
|
|
4.3. Обход кеширования.................................................................................. 53
4.4. Производительность кеширования.............................................................. 54
4.5. Продувка................................................................................................... 55
4.6. Директива slice................................................................................................................. 56
Глава 5. Программируемость и автоматизация...................................................... 58
5.0. Введение................................................................................................... 58
5.1. API NGINX Plus................................................................................................................. 59
5.2. Хранилище типа ключ/значение................................................................ 63
5.3. Установка с использованием приложения Puppet................................................. 65
5.4. Установка с использованием системы Chef............................................................ 67
5.5. Установка с использованием системы Ansible...................................................... 69
5.6.
|
5.7. Автоматизация конфигураций с помощью Consul................................................ 72
Глава 6. Аутентификация...................................................................................... 75
6.0. Введение................................................................................................... 75
6.1. Базовая HTTP-аутентификация................................................................... 75
6.2. Подзапросы аутентификации...................................................................... 77
6.3. Валидация токенов в формате JWT............................................................................ 78
6.4. Создание веб-ключей в формате JSON..................................................................... 79
6.5. Аутентификация пользователей с помощью существующего протокола единого входа OpenID Connect............................................................................................................. 81
6.6. Получение ключа в формате JSON от Google........................................................... 82
Глава 7. Контроль безопасности............................................................................. 84
7.0. Введение................................................................................................... 84
7.1. Доступ на основе IP-адреса........................................................................ 84
7.2. Разрешение совместного использования ресурсов между разными источниками.................................................................................................................. 85
Оглавление v 7
7.3. Шифрование на стороне клиента................................................................ 87
7.4. Восходящее шифрование........................................................................... 89
7.5. Безопасность местоположения.................................................................... 90
7.6. Генерация безопасного соединения при помощи ключа безопасности........ 91
7.7. Безопасность местоположения при помощи ограниченной даты................... 92
7.8. Генерация ссылки с ограниченным сроком................................................. 94
7.10.
|
7.11. Строгая безопасность доставки HTTP....................................................................... 98
7.12. Удовлетворение любого числа методов безопасности................................. 98
7.13. Динамичное ослабление DDoS............................................................................... 100
Глава 8. HTTP/2............................................................................................................................. 102
8.0. Введение................................................................................................. 102
8.1. Базовая настройка................................................................................... 102
8.2. gRPC.................................................................................................................................. 103
8.3.
|
Глава 9. Управление сложными потоками медиа................................................. 107
9.0. Введение................................................................................................. 107
9.1. Обслуживание MP4 и FLV.......................................................................................................................... 107
9.2. Организация потоков с помощью HLS.................................................................... 108
9.3. Организация потоков с помощью HDS.................................................................... 110
9.4. Пределы полосы пропускания.................................................................. 110
Глава 10. Развертывание в облачных решениях................................................... 112
10.0. Введение............................................................................................... 112
10.1. Автоматическая настройка в AWS........................................................................... 112
10.2. Маршрутизация в узлы NGINX без ELB............................................................... 115
10.3. NLB-сэндвич......................................................................................... 116
10.4. Развертывание из AWS Marketplace........................................................................ 117
10.5. Создание образа виртуальной машины NGINX в Azure..................................... 119
10.6. Балансировка нагрузки поверх наборов масштабирования NGINX
в Azure .............................................................................................................................. 122
10.7. Развертывание через Azure Marketplace............................................................... 123
10.8. Развертывание в Google Compute Engine............................................................ 124
10.9. Создание образа Google Compute.......................................................................... 125
10.10. Создание прокси-сервера для Google App Engine........................................... 126
|
Глава 11. Контейнеры/Микросервисы................................................................. 128
11.0. Введение............................................................................................... 128
11.1. Записи DNS SRV.......................................................................................................... 128
11.2. Использование официального образа NGINX...................................................... 130
11.3. Создание Dockerfile NGINX....................................................................................... 131
11.4. Сборка образа NGINX Plus....................................................................................... 133
11.5. Использование переменных среды в NGINX....................................................... 135
11.6. Контроллер Ingress в Kubernetes............................................................................ 137
11.7. Маршрутизатор OpenShift........................................................................................ 140
Глава 12. Режимы развертывания высокой доступности...................................... 142
12.0. Введение............................................................................................... 142
12.1. Режим высокой доступности NGINX....................................................................... 142
Дата добавления: 2021-01-21; просмотров: 126; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!