VPSHOST
SANSARA31 июля 2026 г.5 мин

Настройка proxy_pass в Nginx: практические примеры для 2026 года

Коротко

---

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

VPSSANSARAгайд

---

В этой статье мы подробно разберём, как использовать директиву proxy_pass в Nginx для различных задач. Вам будут даны конкретные примеры, объяснения и советы по настройке, чтобы вы могли легко реализовать нужное решение на практике.

---

Что такое proxy_pass и зачем он нужен

proxy_pass — это директива в Nginx, которая позволяет перенаправлять входящие HTTP-запросы на другой сервер или сервис. Это основной инструмент при создании обратных прокси, балансировщиков нагрузки, а также при организации микросервисной архитектуры.

Например, у вас есть фронтенд-приложение, а API находится на другом сервере. Через proxy_pass вы можете связать эти компоненты, создавая прозрачный для пользователя интерфейс.

---

Основные случаи использования proxy_pass

  1. 01Обратный прокси для API или приложений
  2. 02Балансировка нагрузки между несколькими серверами
  3. 03Обеспечение безопасности и скрытие внутренней инфраструктуры
  4. 04Реализация микросервисной архитектуры

Рассмотрим каждый случай с практическими примерами.

---

Общая структура настройки proxy_pass

Пример базовой конфигурации:

`nginx server { listen 80; server_name example.com;

location /api/ { proxy_pass proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } `

Основные моменты:

  • proxy_pass указывает целевой сервер.
  • proxy_set_header передает заголовки, обеспечивая корректную работу приложений.
  • В конце URL в proxy_pass обычно ставится /, чтобы правильно передавать URI.

---

Примеры использования proxy_pass на практике

Простая прокси-настройка для API

Задача: Перенаправить все запросы /api/ на локальный сервер API, работающий на порту 3000.

Конфигурация:

`nginx server { listen 80; server_name api.example.com;

location / { proxy_pass proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; } } `

Объяснение:

  • Все запросы к api.example.com/ будут перенаправлены на localhost:3000.
  • Используются стандартные заголовки для корректной работы приложений.

---

Балансировка нагрузки между несколькими серверами

Задача: Распределить трафик между двумя приложениями на серверах с IP 192.168.1.101 и 192.168.1.102.

Конфигурация:

`nginx upstream my_app { server 192.168.1.101 weight=1; server 192.168.1.102 weight=2; }

server { listen 80; server_name app.example.com;

location / { proxy_pass proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } `

Объяснение:

  • upstream определяет группу серверов.
  • Вес (weight) управляет распределением трафика.
  • Вся нагрузка делится между двумя серверами по заданным весам.

---

Обеспечение HTTPS и редирект с HTTP

Задача: Перенаправить весь HTTP трафик на HTTPS и настроить прокси на защищённом соединении.

Конфигурация:

`nginx server { listen 80; server_name secure.example.com; return 301 }

server { listen 443 ssl; server_name secure.example.com;

ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem;

location / { proxy_pass proxy_ssl_server_name on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } } `

Объяснение:

  • Перенаправление на HTTPS происходит на порту 80.
  • В proxy_pass указывается HTTPS-адрес внутреннего сервиса.
  • Включается proxy_ssl_server_name для поддержки SNI.

---

Передача и изменение URL

Задача: Перенаправлять запросы /blog/ на внешний сайт с изменением URL.

Решение: Использовать rewrite или proxy_pass с изменением URI.

Пример:

`nginx location /blog/ { proxy_pass proxy_redirect off; proxy_set_header Host external-blog.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } `

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

---

Важные нюансы при использовании proxy_pass

  • Передача исходного URI: Если нужно сохранить путь после /api/, необходимо оставить / в конце proxy_pass.
  • Обработка ошибок: Используйте proxy_intercept_errors для обработки ошибок на стороне Nginx.
  • Кеширование: Для ускорения можно включить кеширование с помощью proxy_cache.
  • Безопасность: Настраивайте HTTPS, используйте актуальные сертификаты, избегайте передачи чувствительных данных по незашищённым соединениям.

---

Итог

Настройка proxy_pass в Nginx — мощный инструмент для организации гибких и масштабируемых инфраструктурных решений. В статье представлены ключевые сценарии и практические примеры, которые помогут вам реализовать обратный прокси, балансировку нагрузки и обеспечить безопасность ваших сервисов.

Если у вас остались вопросы или нужна помощь с конкретным кейсом, команда SANSARA всегда готова помочь — мы предоставляем профессиональные услуги по настройке и оптимизации VPS и инфраструктуры.

---

Пусть ваши серверы работают стабильно и безопасно!

Ещё по теме

CTA · VPSHOST

Личный VPS — без терминала и очередей

Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.