Re: помогите с проксированием

2017-11-13 Пенетрантность Иван Мишин
Максим, большое спасибо за развернутый ответ, осбенно за
>
> В наиболее сложном случае абсолютные адреса оказываются зашиты
>   не только в возвращаемых html-страницах (которые, при желании,
>   можно пытаться править с помощью sub_filter), но и в каких-нибудь
>   бинарных/проприетарных swf-файлах.  И поставленная задача вообще
>   не решается.


Это как раз мой случай оказался, поэтому свою задачу решу лучше через
поддомены.

13 ноября 2017 г., 16:25 пользователь Maxim Dounin 
написал:

> Hello!
>
> On Mon, Nov 13, 2017 at 12:08:14PM +0300, Иван Мишин wrote:
>
> > Я догадываюсь какие модули нужны, но все мои попытки реализовать задачу
> > провалились.
> > Может ли кто-то подсказать более точнее?
>
> Более точнее так:
>
> - В простейшем случае задача сводится к тому, чтобы сделать
>   proxy_pass внутри соответствующего location'а:
>
>   location /site1/ {
>   proxy_pass http://xyz.com/;
>   }
>
>   Тут важно обратить внимание на "/" в proxy_pass - он говорит
>   nginx'у, что при проксировании следует менять префикс "/site1/" в
>   исходном URI запроса на "/".
>
>   Так будет работать, если бэкенд использует относительные адреса
>   для ресурсов, возвращает предсказуемые перенаправления (см.
>   proxy_redirect) и так далее.
>
> - В наиболее сложном случае абсолютные адреса оказываются зашиты
>   не только в возвращаемых html-страницах (которые, при желании,
>   можно пытаться править с помощью sub_filter), но и в каких-нибудь
>   бинарных/проприетарных swf-файлах.  И поставленная задача вообще
>   не решается.
>
> Где именно между этими крайними положениями находится ваш сайт -
> известно только вам.  А если не известно - то и выяснять,
> соответственно, вам.  Постепенно дополняя простейшую конфигурацию
> выше различными подпорками для решения возникающих проблем.
>
> Ну и не следует забывать, что в общем случае - задача не решается.
> И где-то в тот момент, когда возникает необходимость менять
> содержимое возвращаемых страниц с помощью sub_filter - имеет смысл
> задуматься о том, чтобы пойти и переделать бэкенд.  Или даже не
> переделать, а просто разобраться с ним чуть получше - часто
> бывает, что бэкенд всё умеет, просто его нужно соответствующим
> образом сконфигурировать.
>
> --
> Maxim Dounin
> http://mdounin.ru/
> ___
> 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

Re: помогите с проксированием

2017-11-13 Пенетрантность Maxim Dounin
Hello!

On Mon, Nov 13, 2017 at 12:08:14PM +0300, Иван Мишин wrote:

> Я догадываюсь какие модули нужны, но все мои попытки реализовать задачу
> провалились.
> Может ли кто-то подсказать более точнее?

Более точнее так:

- В простейшем случае задача сводится к тому, чтобы сделать 
  proxy_pass внутри соответствующего location'а:

  location /site1/ {
  proxy_pass http://xyz.com/;
  }

  Тут важно обратить внимание на "/" в proxy_pass - он говорит 
  nginx'у, что при проксировании следует менять префикс "/site1/" в 
  исходном URI запроса на "/".

  Так будет работать, если бэкенд использует относительные адреса 
  для ресурсов, возвращает предсказуемые перенаправления (см. 
  proxy_redirect) и так далее.

- В наиболее сложном случае абсолютные адреса оказываются зашиты 
  не только в возвращаемых html-страницах (которые, при желании, 
  можно пытаться править с помощью sub_filter), но и в каких-нибудь 
  бинарных/проприетарных swf-файлах.  И поставленная задача вообще 
  не решается.

Где именно между этими крайними положениями находится ваш сайт - 
известно только вам.  А если не известно - то и выяснять, 
соответственно, вам.  Постепенно дополняя простейшую конфигурацию 
выше различными подпорками для решения возникающих проблем.

Ну и не следует забывать, что в общем случае - задача не решается.  
И где-то в тот момент, когда возникает необходимость менять 
содержимое возвращаемых страниц с помощью sub_filter - имеет смысл 
задуматься о том, чтобы пойти и переделать бэкенд.  Или даже не 
переделать, а просто разобраться с ним чуть получше - часто 
бывает, что бэкенд всё умеет, просто его нужно соответствующим 
образом сконфигурировать.

-- 
Maxim Dounin
http://mdounin.ru/
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: помогите с проксированием

2017-11-13 Пенетрантность Иван Мишин
Я догадываюсь какие модули нужны, но все мои попытки реализовать задачу
провалились.
Может ли кто-то подсказать более точнее?

12 ноября 2017 г., 22:38 пользователь Alex Domoradov 
написал:

> По идее должно хватить rewrite + proxy_pass/proxy_redirect, но может
> зависеть от того, как криво реализован сам site1. Возможно еще понадобится
> http://nginx.org/en/docs/http/ngx_http_sub_module.html
>
> 2017-11-12 21:11 GMT+02:00 Иван Мишин :
>
>> Есть nginx который занимается проксированием на бекенд.
>> как сделать так чтобы при запросе
>> xyz.com/site1
>> на бекенд ушел запрос вида xyz.com, но при этом в браузере клиент видел
>> xyz.com/site1
>>
>> ___
>> 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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: помогите с проксированием

2017-11-12 Пенетрантность Alex Domoradov
По идее должно хватить rewrite + proxy_pass/proxy_redirect, но может
зависеть от того, как криво реализован сам site1. Возможно еще понадобится
http://nginx.org/en/docs/http/ngx_http_sub_module.html

2017-11-12 21:11 GMT+02:00 Иван Мишин :

> Есть nginx который занимается проксированием на бекенд.
> как сделать так чтобы при запросе
> xyz.com/site1
> на бекенд ушел запрос вида xyz.com, но при этом в браузере клиент видел
> xyz.com/site1
>
> ___
> 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

помогите с проксированием

2017-11-12 Пенетрантность Иван Мишин
Есть nginx который занимается проксированием на бекенд.
как сделать так чтобы при запросе
xyz.com/site1
на бекенд ушел запрос вида xyz.com, но при этом в браузере клиент видел
xyz.com/site1
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru