У нас есть несколько внутренних сайтов, таких как sharepoint, bugzilla, сервер RoR и т. Д. Пользователи получают доступ к этим сайтам через URL-адреса, например, abc.example.com, xyz.example.com и т. Д. Можно ли настроить так, чтобы вместо доступа к сайтам с abc.example.com и xyz.example.com, к ним можно было обращаться с помощью URL-адресов, например example.com/abc и example.com/xyz? Я думал, что это возможно с обратным прокси, и настроил, как показано ниже:
ProxyRequests off
ProxyPass /abc http://abc.example.com
ProxyPass /xyz http://xyz.example.com
ProxyHTMLURLMap http://abc.example.com /abc
ProxyHTMLURLMap http://xyz.example.com /xyz
ProxyHTMLExtended On
ProxyHTMLLogVerbose On
<Location /abc>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLURLMap / /abc/
ProxyHTMLURLMap /abc /abc
SetOutputFilter proxy-html
SetEnv proxy_html_force
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
RequestHeader unset Accept-Encoding
</Location>
<Location /xyz>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLURLMap / /xyz/
ProxyHTMLURLMap /xyz /xyz
SetOutputFilter proxy-html
SetEnv proxy_html_force
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
RequestHeader unset Accept-Encoding
</Location>
Но несмотря ни на что, я не могу заставить его работать. Журналы Apache показывают, что это ошибка 404. Я предполагаю, что я ошибаюсь в части «Местоположение», поскольку / abc и / xyz - это просто случайные имена и не указывают на какие-либо местоположения как таковые.
Есть ли способ заставить его работать, используя перезапись URL или что-то в этом роде? Также пробовали с Nginx, но безуспешно. Любая помощь будет принята с благодарностью.
Спасибо, Могарой
Спасибо, Lime-Like, за то, что указали мне правильное направление, и извините за задержку с ответом, так как я был в отпуске.
Хотя это и не совсем точно, это помогло мне двигаться в правильном направлении. Как вы предложили, я использовал RailsBaseURI в разделе vhost моего сервера RoR - мне пришлось создать символическую ссылку, чтобы он работал правильно. Это вместе с некоторыми модификациями в конфигурация обратного прокси, опубликованная изначально, успешно работает.
Теперь ко всем моим внутренним сайтам можно получить доступ с помощью одного URL-адреса с разными путями, за исключением сервера sharepoint, к которому я не могу получить аутентификацию, работающую через прокси. Он настроен для аутентификации с использованием NTLM, и, похоже, есть проблемы с работой через прокси.
Приветствуются любые указатели. Еще раз спасибо !!
Могарой
Я подозреваю, что обратный прокси - это не то, что вы здесь ищете, а что-то вроде RailsBaseURI. Я еще не пробовал, так как использую поддомены, но помню, как читал, что RailsBaseURI можно использовать в конфигурации Apache хоста или виртуального хоста. Итак, для example.com/xyz вам, вероятно, понадобится что-то вроде:
ServerName example.com
RailsBaseURI / xyz