Аннотация: Эта статья начинается с концепции Nginx и знакомит с обратным прокси-сервером, одной из характеристик Nginx, с концепцией, преимуществами и кодом конфигурации обратного прокси-сервера.
Источник статьи: Технологический институт CreditEase и команда CreditEase по платежам и расчетам. Обмен технологиями, этап 1 — Чжоу Хэн, старший технический менеджер группы данных Octagon по платежам и расчетам CreditEase, «Подробности о Nginx»
Участник: Чжоу Хэн, старший технический менеджер группы данных Octagon, CreditEase Payment and Settlement
Оригинальный текст был впервые опубликован в публичном аккаунте технической группы по платежам и расчетам:дикий указатель
1. Интерпретация концепции Nginx
Лучший способ понять новые вещи — начать с понятий.Эта статья, как первая статья в серии «Темы Nginx», начинается с названия Nginx, чтобы разобрать этот загадочный движок.
Nginx, который является аббревиатурой от engine X, также произносится как «engine x», был разработан русским богом Игорем Сайсуевым в 2004 году и обеспечивает высокопроизводительную и простую в использовании функцию обратного HTTP-прокси. Позже была добавлена поддержка обратного TCP-прокси.
Изначально Nginx был создан для решения проблемы C10K в первые годы. Что такое С10К? C означает клиентские клиенты, 10K означает 10 000, то есть сервер поддерживает 10 000 подключений одновременно. В то время это была очень сложная проблема.
Поиск Google Nginx получит следующее объяснение:
Nginx — это асинхронный веб-сервер, который также можно использовать в качестве обратного прокси-сервера, балансировщика нагрузки и кэша HTTP.
Из этого предложения мы можем получить следующие ключевые моменты:
- Асинхронная структура
- обратный прокси
- балансировки нагрузки
- HTTP-кеширование
Эта специальная статья расскажет о силе Nginx по этим ключевым словам. В этой статье впервые представлены функции обратного прокси-сервера Nginx и его реализация конфигурации.
2. Обратный прокси
2.1 Что такое обратный прокси
Агенты очень распространены в жизни: агенты по недвижимости — это агенты, терминальные розничные торговцы — это агенты, а представители избирательных комиссий — это агенты. Эти агенты могут помочь стороне спроса снизить сложность многих задач и повысить эффективность и опыт.
Думаю, читателям очень понятно, как выглядит прокси-сервис в сети.Вот краткий обзор: Предположим, мы хотим посмотреть видео станции B онлайн в компании, и стандартизированная компания установила Сетевые политики не разрешают доступ к видео-сайтам. Умных программистов этим не победить. Пока вы покупаете облачный сервис, создаете прокси-сервис и устанавливаете прокси-сервер в своем браузере, вы можете легко получить доступ к видео-сайтам. Это обычный прокси.
Итак, теперь возникает вопрос: все понимают «прокси», почему здесь подчеркивается, что это обратный прокси? Есть ли прямой прокси? Ответ положительный.
Прокси-сервер прямой передачи является обычным прокси-сервером.С точки зрения запрашивающей стороны, то есть клиента, в качестве прямого направления прокси-сервер, через который пользователь отправляет запрос, называется «прокси-сервером вперед». В это время пользователь активно выбирает использование прокси.
Обратный прокси: сначала посмотрите на картинку, а потом объясните.
Инициатива обратная, изначально клиент выбирает прокси, а теперь прокси выбирает узел сервера. Из-за инверсии управления такой прокси называется «обратным прокси».
2.2 Преимущества обратного прокси
1) Защита безопасности службы
- Скрыть IP сервисного узла;
- Поместите служебный узел за брандмауэром, чтобы избежать прямой атаки на сервер служебного узла.
2) Сервисные узлы больше ориентированы на бизнес при одновременном повышении производительности.
- Благодаря наличию обратного прокси, обратный прокси-сервер можно использовать для реализации функций, не связанных с бизнесом, таких как https, сжатие gzip;
- Обеспечьте динамическое и статическое разделение и отправьте статические файлы на статические серверы или локальные файловые системы, чтобы предотвратить обработку бизнес-узлами этих запросов, не связанных с бизнесом;
- Обеспечьте механизм кэширования, добавьте некоторый динамический контент, который не изменится в течение короткого периода времени, и увеличьте кэш на уровне обратного прокси-сервера, чтобы уменьшить объем запросов бизнес-сервера;
- Поскольку управление находится на стороне прокси-сервиса, запросы могут динамически распределяться в соответствии с производительностью сервисного узла, чтобы производительность сервисного узла была наилучшей.
Именно потому, что Ngxin вводит функцию обратного прокси-сервера, запросы и ответы проходят через Nginx, что дает Nginx множество возможностей. Такие как балансировка нагрузки, кэширование HTTP и т. д.
В-третьих, настройка обратного прокси
Настройка обратного прокси в Nginx довольно проста.
3.1 Настройка обратного прокси-сервера с одним узлом
# simple reverse-proxy
server {
listen 80;
server_name big.server.com;
access_log logs/big.server.access.log main;
# pass requests for dynamic content to rails/turbogears/zope, et al
location / {
proxy_pass http://127.0.0.1:8080;
}
}
Определенное здесь правило использует доменное имя big.server.com для запроса порта 80 Nginx, который проксирует запрос на 127.0.0.1:8080.
3.2 Настройте группу сервисных узлов обратного прокси.
1) Настройте набор обратных прокси и назовите их.
upstream big_server_com {
server 192.168.0.1:8000;
server 192.168.0.1:8001;
}
Здесь определяется восходящий поток. Этот восходящий поток можно понимать как поток загрузки. Он называется загрузкой, потому что: получение данных с сервера называется загрузкой, а отправка данных на сервер называется загрузкой. Здесь запрос данных отправляется в службу node, поэтому это называется загрузкой.
Назовите эту группу сервисных узлов big_server_com, в которую входят два узла: 192.168.0.1:8000 и 192.168.0.1:8001.
2) Правила конфигурации: разрешить обратное проксирование удовлетворенных запросов к этой группе сервисных узлов.
server {
listen 80;
server_name big.server.com;
access_log logs/big.server.access.log main;
location / {
proxy_pass http://big_server_com;
}
}
Определенное здесь правило использует доменное имя big.server.com для запроса порта Nginx 80. Все запросы, URL-адрес которых имеет суффикс /, будут перенаправлены в ранее определенную группу сервисных узлов с именем big_server_com.
4. Резюме
Начиная с концепции Nginx, эта статья знакомит с обратным прокси-сервером, одной из характеристик Nginx, с концепцией, преимуществами и кодом конфигурации обратного прокси-сервера. В последующих статьях будут представлены три другие функции Nginx: балансировка нагрузки, кэширование HTTP и асинхронная структура, так что следите за обновлениями.