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

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


Можно попробовать обрезать префикс из запроса, не знаю будет ли работать

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