ГлавнаяЛайфхакиКак использовать Nginx в качестве обратного прокси

Как использовать Nginx в качестве обратного прокси

Не считая Apache, самым популярным веб-сервером является Nginx. Помимо того, что он является веб-сервером, его также можно использовать в качестве балансировщика нагрузки или обратного прокси-сервера. В этом уроке мы покажем вам, как использовать Nginx в качестве обратного прокси.

Также читайте: Nginx против Apache: что вам больше подходит?

Что такое обратный прокси?

Прокси-сервер действует как посредник между клиентом и другим сервером. Он получает ресурсы с сервера, к которому вы хотите подключиться, и отправляет их вам для просмотра. Обратный прокси-сервер работает таким же образом, за исключением того,

Что такое обратный прокси?

ложную. Когда вы запрашиваете информацию с сервера, обратный прокси-сервер обрабатывает запрос и отправляет его на соответствующий серверный сервер. Это позволяет системному администратору использовать сервер для нескольких приложений, а также обеспечивать более плавный поток трафика между клиентом и сервером.

обратная прокси-иллюстрация

Преимущества обратного прокси

В зависимости от вашего приложения у вас могут быть разные варианты использования обратного прокси.

  • Обратный прокси-сервер позволяет запускать несколько приложений на одном сервере. Если на одном сервере работает несколько приложений, они не могут все прослушивать порт 80 или 433. в то же время. С помощью обратного прокси-сервера вы можете настроить обратный прокси-сервер для перенаправления трафика на отдельные приложения по мере необходимости.
  • Балансировка нагрузки. Если у вас есть несколько серверов, на которых работает одно и то же приложение, вы можете использовать обратный прокси-сервер для равномерного распределения трафика на каждый сервер.
  • Брандмауэр веб-приложений. Вы можете использовать обратный прокси-сервер, чтобы скрыть свое приложение от публики, а также отфильтровать IP-адреса д

    Преимущества обратного прокси

    i>
  • Простота регистрации и аудита. Поскольку весь входящий трафик управляется обратным прокси-сервером, его легче регистрировать и отслеживать поток трафика.

Настройка Nginx в качестве обратного прокси

Чтобы настроить Nginx в качестве обратного прокси-сервера, мы будем использовать параметр proxy_passв файлах конфигурации Nginx.

Примечание. В этом руководстве предполагается, что вы обладаете некоторыми знаниями о Nginx и уже установили и настроили Nginx на своем сервере.

В большинстве случаев Nginx будет интерфейсным сервером, прослушивающим порт 80 (HTTP) или 443 (HTTPS) для входящих запросов. Поскольку порт 80 или 443 может прослушивать только одна служба, вашему приложению придется прослушивать другой порт, например порт 8081. Самая простая конфигурация будет примерно такой:

server {
  listen 80;
  listen [::]:80;
 
  server_name myapp.com;
 
  location / {
      proxy_pass http://localhost:8081/;
  }
}

Это означает, что все входящие запросы к myapp.com через порт 80 будут перенаправлены на порт 8081.

Расширенная настройка

Помимо директивы proxy_passсуществует несколько других директив, которые можно использовать для более расширенной настройки.

proxy_set_header  – позволяет настроить заголовок для отправки в фоновое приложение. Например, см. следующую конфигурацию:

proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

Вы можете настроить необходимый заголовок прокси-сервера для передачи приложению, чтобы оно знало IP-адрес запроса и уда

Настройка Nginx в качестве обратного прокси

я сайта запроса.

Тайм-аут прокси-сервера – позволяет установить значение тайм-аута для отправки и получения запросов прокси-сервера. Например:

proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;

proxy_buffers — это позволяет Nginx временно удерживать ответ прокси-сервера и отправлять на сервер запросов только после того, как прокси-сервер завершит ответ. Например:

proxy_buffers           32 4k;

Если ваше приложение собирается отправлять большой фрагмент файла, возможно, вам стоит отключить proxy_buffers:

proxy_buffering     off;

Сводка

Как видите, Nginx — это функциональный обратный прокси-сервер. Самое приятное в этом то, что его конфигурация проста, удобна в использовании и при этом позволяет масштабироваться для более сложных сценариев. Для получения более подробной информации вы можете просмотреть Документация по прокси-модулю Nginx или примеры конфигурации .

Автор изображения: Расширенная настройка , Обратный прокси

Сводка

ПОХОЖИЕ СТАТЬИ

Популярные записи