Frod

31.07.2026

proxy pass nginx примеры

Frod — свобода без границ

Proxy Pass Nginx Примеры: Полное руководство для начинающих и профессионалов

Если вы занимаетесь настройкой веб-сервера или хотите реализовать балансировку нагрузки, reverse proxy или скрыть внутренние ресурсы — nginx с его модулем proxy_pass станет вашим незаменимым помощником. В этой статье я расскажу, что такое proxy_pass, как его правильно настроить, и приведу реальные примеры, которые помогут вам быстро реализовать нужные задачи.

Что такое proxy pass в nginx?

proxy_pass — это директива в конфигурации nginx, которая позволяет перенаправлять запросы с одного сервера на другой. Это особенно полезно для реализации reverse proxy, балансировки нагрузки, кеширования или скрытия внутренних сервисов.

Пример базовой настройки выглядит так:

location /api/ {
 proxy_pass http://backend_server/;
}

Это означает, что все запросы по пути /api/ будут перенаправлены на сервер backend_server.

Основные ситуации, когда нужен proxy_pass

  • Балансировка нагрузки между несколькими серверами
  • Обеспечение безопасности — скрытие внутренней инфраструктуры
  • Кеширование статического контента
  • Объединение нескольких сервисов под одним доменом

Лучшие практики и типичные ошибки

  • Не забывайте о правильной настройке заголовков (Host, X-Real-IP, X-Forwarded-For)
  • Указывайте полные URL, включая схему (http:// или https://)
  • Следите за путями — избегайте дублирования слэшей
  • Используйте proxy_set_header для передачи информации о клиенте

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

Давайте рассмотрим, как на практике применяются разные сценарии.

  1. Простой proxy_pass на внутренний сервер
server {
 listen 80;
 server_name example.ru;

 location /app/ {
 proxy_pass http://127.0.0.1:8080/;
 }
}

Все запросы к http://example.ru/app/ будут перенаправлены на внутренний сервер по адресу 127.0.0.1:8080.


  1. Proxy pass с изменением пути

Иногда нужно оставить запросы к внешнему серверу, но при этом менять путь, чтобы внутренний сервер получал нужный endpoint.

location /blog/ {
 proxy_pass http://localhost:5000/wordpress/;
}

Запрос /blog/article отправится на http://localhost:5000/wordpress/article.

Обратите внимание, что в конце proxy_pass — слэш. Это важно для правильной работы.


  1. Балансировка нагрузки

Если у вас есть несколько серверов, и вы хотите распределить нагрузку:

upstream backend {
 server 192.168.1.101;
 server 192.168.1.102;
}

server {
 listen 80;
 server_name example.ru;

 location /api/ {
 proxy_pass http://backend/;
 }
}

Теперь запросы к /api/ будут равномерно распределяться между двумя серверами.


  1. Использование proxy_pass с HTTPS

Если внутренний сервис использует HTTPS, убедитесь, что nginx доверяет сертификату:

location /secure/ {
 proxy_pass https://secure-backend.local/;
 proxy_ssl_verify off; # отключить проверку сертификата, если нужно
}

Обратите внимание, что для этого потребуется правильная настройка SSL.


Итог

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

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


Хотите больше примеров и секретов? Подписывайтесь на наш блог и оставайтесь в курсе всех новинок в мире nginx и информационной безопасности!