Re: помогите с проксированием
Максим, большое спасибо за развернутый ответ, осбенно за > > В наиболее сложном случае абсолютные адреса оказываются зашиты > не только в возвращаемых 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: помогите с проксированием
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: помогите с проксированием
Я догадываюсь какие модули нужны, но все мои попытки реализовать задачу провалились. Может ли кто-то подсказать более точнее? 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: помогите с проксированием
По идее должно хватить 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 который занимается проксированием на бекенд. как сделать так чтобы при запросе xyz.com/site1 на бекенд ушел запрос вида xyz.com, но при этом в браузере клиент видел xyz.com/site1 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru