@squard72
высокий

Как сделать proxy_pass nginx на другой сервер?

Уважаемые, подскажите пожалуйста как сделать при помощи nginx такое:

1. Паблик сервер
серверная подсеть:
2. Сервер №1
3. Сервер №2

Сервер №1 доступен по "паблик_сервер.ру/"
Сервер №2 доступен по ""паблик_сервер.ру/location"

Примерно по такой схеме нужно выводить сервера в паблик.

В нжниксе есть proxy_pass, находил в инете всякие такие функции:
location /name/ {
    proxy_pass http://127.0.0.1/remote/;
}


Как это все скомпоновать я не разобрался. Куда все это вписывать, как все вписывать незнаю. То ли в главный конфиг, то ли в хостовый, в какой форме. Подскажите пожалуйста с примерами, максимально разжеваными. Спасибо большое, всем добра!
  • Вопрос задан
  • 5150 просмотров
Решения вопроса 1
ifaustrue
@ifaustrue
Пишу интересное в теллеграмм канале @cooladmin
Такс. Смотрите.

Структура конфига у nginx довольна проста.
Основной уровень - файл. Он хранит определённый набор настроек, может быть включён (приинклужен) один из другого. Есть первый файл с которого начинается чтение всей конфигурации.
Второй уровень - контекст или секция конфиг файла. Это некая область на которую будут влиять те настройки что находятся внутри. Контекст обозначается "{}". Основные контексты которые вам важны это server и location
Третий уровень абстракций - это сами параметры.

В вашем случае вам нужно в контекст вашего сервера вставить два локейшина и в каждом из них сделать прокси пасс

server {
    location / {
        proxy_pass http://server1/;
    }

    location /location2/ {
       proxy_pass http://server2/;
    }
}


Найдите в ваших конфигах то место где описана корневая директория сайта, закомментируйте это место и вместо этого вставьте мой конфиг, с правкой соотв. параметров.

А вообще есть замечательная документация на русском с примерами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы