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

fox red-fox0 на ya.ru
Вс Ноя 8 11:09:03 UTC 2020


И ещё:

sub_filter 'href="/' 'href="/torrserver/';
sub_filter_once on;


08.11.2020 18:06, fox пишет:
> Можно попробовать обрезать префикс из запроса, не знаю будет ли работать
> 
> location /torrserver/ {
>   rewrite ^/torrserver/(.*) /$1  break;
>   proxy_pass http://127.0.0.1:8090/$uri$is_args$args;
> }
> 
> Расскажешь, заработало ли?
> 
> 
> 08.11.2020 17:59, redidka812 пишет:
>> Есть служба работающая на локальной машине в частности 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 mailing list
>> nginx-ru на nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> 



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