@SergNF

Как перенаправить несколько location на разные сервера?

Есть 1 комп с одним портом, к которому есть доступ извне (VPN клиент).
Этот комп подключен к локальной сети, где есть несколько компьютеров со своими, достаточно сложными (больше одной странички), сайтами (ip и порты разные)
Есть желание с помощью nginx смотреть эти сайты извне. Как-то так
http://единственный_ip/one
http://единственный_ip/two

Я решил это сделать с помощью location
...
location /one {
            proxy_pass http://ipone:portone;
            proxy_set_header X-Real-IP $remote_addr;
        }
location /two {
            proxy_pass http://iptwo:porttwo;
            proxy_set_header X-Real-IP $remote_addr;
        }
...

Естественно, ничего не вышло, т.к. "location" добавляется в конец proxy_pass и получается
http://ipone:portone/one
http://iptwo:porttwo/two

root<->alias - понимаю и использую в пределах одного компьютера. А вот как "раздать" сеть - не подбиру ключевое слово для поиска в документации.
  • Вопрос задан
  • 127 просмотров
Решения вопроса 2
castomi
@castomi
Серверный администратор - tickets.settin.ru
Всё проще простого и тем более уже описано в документации
https://nginx.ru/ru/docs/http/ngx_http_proxy_modul...
location /one/ {
            rewrite    ^/one/$ /$1 break;
            proxy_pass http://ipone:portone;
            proxy_set_header X-Real-IP $remote_addr;
        }
location /two/ {
            rewrite    ^/two./$ /$1 break;
            proxy_pass http://iptwo:porttwo;
            proxy_set_header X-Real-IP $remote_addr;
        }
Ответ написан
@miksir
IT
location /one {
            proxy_pass http://ipone:portone/;
            proxy_set_header X-Real-IP $remote_addr;
        }
location /two {
            proxy_pass http://iptwo:porttwo/;
            proxy_set_header X-Real-IP $remote_addr;
        }

Обратите внимание на слеш в конце адреса бекенда. Именно он показывает необходимость реврайта URI запроса. Учтите, что этот реврайт никак не влияет на само тело запроса (т.е. если у вас вернется html со ссылкой a href="/", то она такой и останется)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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