proxy pass перенаправление на другой порт 404 как побороть?

redidka812 nginx-forum на forum.nginx.org
Вс Ноя 8 10:59:22 UTC 2020


Есть служба работающая на локальной машине в частности torrserver,
отзывается на порту 8090. хочу доступ к ней из интернета не через проброс
порта 8090 за NAT,  а через nginx(чтоб не создавать кучу портов за NAT о
всех служб что есть в домашней сети, темболее часть из них без
авторизации..
Итак делаю:
        server {
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                listen 8080 ;
                location /torrserver/ {
                proxy_pass http://127.0.0.1:8090/;

                }
Где 8080 порт проброшеный за NAT  от nginx
/torrserver/ - имя службы по которому nginx будет перенаправлять запросы на
порт 8090

И вводя в браузере 
IP:8080/torrserver 
Я попадаю на веб морду от to reserve слушаюшую на удаленной машине порт
8090, казалось бы вот оно счастье, но....
Все кнопки/управление на этой странице возвращают ошибку 404
Потому как происходит запрос другого адреса
 Например "настройки"
Вида
IP:8090/settings
И.т.д..
Если бы я заходил по 8090 то все бы работало..
Через nginx при 8080/torrserver  разумеется нет потому как страница 
8090/settings в nginx не существует..
Хочу так настроить редирект/проксирование
Чтоб открыв страницу по
IP:8080/tiorrserver
Функционирование/переход с этой страницы по кнопкам управления на ней  также
шел через nginx
Т.е. при клике   например по томуже settings запрос уходил к
8080/torrserver/settings а не к 8090/settings

Можно ли это реализовать? С помощью каких команд в конфиге nginx  не в
смысле конкретно  /settings/ а все ссылки на этой странице обрабатывались
как будто бы nginx между пользователем и службой torrserver вообще
отсутствует , (не знаю как правильно сформулировать, своими словами, чтоб
при удаленном доступе  вместо  IP:8090(проброшенрого порта 8090) служба
отзывалась  на  IP:8080/transmission/  и полностью функционировало
управление...

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,289911,289911#msg-289911



Подробная информация о списке рассылки nginx-ru