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

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

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

Непрочитанное сообщение Dmitriy_K » 2013-12-05 2:16:33

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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

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

Непрочитанное сообщение Dmitriy_K » 2013-12-10 14:59:03

По результатам разборок выяснилось, что можно сделать это при помощи 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/;"

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

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

Непрочитанное сообщение Dmitriy_K » 2013-12-16 17:25:03

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