Тема Nginx (1): Обратный прокси-сервер Nginx и его конфигурация

задняя часть Nginx

Аннотация: Эта статья начинается с концепции 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 и асинхронная структура, так что следите за обновлениями.