Страница 1 из 1

Как удержать проксирование в пределах поддиректории сайта?

Добавлено: 2013-12-05 2:16:33
Dmitriy_K
Кто-нибудь может подсказать существует ли способ удержать проксирование в пределах поддиректории сайта?
Суть в том, что проксируемый бакэнд возвращает урлы, идущие от его корня, а не от поддиректории основного сайта, которая проксируется. В результате происходят перескоки в основной сайт.
Я использую Nginx, на нём проблема, похоже, не имеет решения. :-o
http://forum.nginx.org/read.php?21,245155
Может, есть другие варианты программ, которые с справляются с подобным вариантом проксирования?

Re: Как удержать проксирование в пределах поддиректории сайт

Добавлено: 2013-12-10 14:59:03
Dmitriy_K
По результатам разборок выяснилось, что можно сделать это при помощи Apache. Как именно - не знаю, не стал проверять. Но там нужен ещё модуль mod_proxy_html для автоматической корректировки проксирумого контента в плане внутренних ссылок. Иначе все включения страницы, идущие от корня проксируемого сервера, не будут доступны, поскольку запросы будут идти в корень основного сайта. В целом, всё получается довольно криво.
На Nginx, в принципе, можно пробовать использовать для корректировки ссылок фильтр строчной замены subs_filter. Но это тоже криво.
Против перескока из проксируемой директории в корень основного сайта помогает такое:

Код: Выделить всё

location /online {
rewrite ^/online/(.*) /$1 break;
proxy_pass https://10.22.33.44:83/;
proxy_redirect   /   /online/;
}
Но это не решает проблему в целом.
Лучшим решением является подстроить бакэнд, чтобы корень проксируемого сайта находился в директории с именем проксируемой директории основного сайта.
Тогда всё заработает автоматически при указании "proxy_pass https://10.22.33.44:83/online/;"

Re: Как удержать проксирование в пределах поддиректории сайт

Добавлено: 2013-12-16 17:25:03
Dmitriy_K
Получил от разработчиков Nginx подтверждение выше изложенному:
http://forum.nginx.org/read.php?21,2451 ... msg-245556