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