Apache - прокси разные сервисы через один сервер - PullRequest
0 голосов
/ 13 февраля 2019

Моя цель - получить доступ к различным веб-сервисам в моей сети через один прокси-сервер.Фоновая проблема заключается в том, что прокси-сервер является единственным сервером, доступным для клиентов.

Прокси-сервер имеет IP-адрес 192.168.1.1, и у меня есть веб-служба, работающая по IP-адресу 192.168.1.124 (IP-адреса иимена являются лишь примерами).Когда клиентский сервер обращается к http://192.168.1.1/webservice/, его запросы должны быть перенаправлены на http://192.168.1.124/,, но клиент никогда не должен видеть фактический IP-адрес веб-службы.Браузер клиента должен по-прежнему просто видеть URL http://192.168.1.1/webservice/*. Кроме того, сеанс клиента все еще должен работать через это прокси-соединение, и если веб-служба выполняет какие-либо перенаправления, они должны быть перехвачены и присоединены к прокси-URL.Например, когда веб-служба перенаправляет первый запрос на http://192.168.1.124/home.html, клиент должен увидеть http://192.168.1.1/webservice/home.html

Я много гуглил, но не смог найти подходящее решение.Последняя конфигурация, которую я использовал:

ProxyPreserveHost On
ProxyRequests Off
ProxyPass /snipeit/ http://192.168.1.124/
ProxyPassReverse /snipeit/ http://192.168.1.124/

При этой конфигурации запросы перенаправляются на веб-сервис так, как я хочу.Но когда веб-служба отвечает с другим URL-адресом, таким как http://192.168.1.124/home.html, клиент перенаправляется на http://192.168.1.1/home.html, и браузер показывает ошибку 404.Так как он должен перейти к http://192.168.1.1/webservice/home.html. Когда я набираю этот URL вручную, я получаю правильную страницу.

Что я делаю не так? / Что я пропустил?Заранее спасибо.

1 Ответ

0 голосов
/ 13 февраля 2019

Можете ли вы попробовать что-то вроде этого:
(сначала убедитесь, что mod_proxy_html включено)

<Location /app1/>
        ProxyHTMLURLMap / /app1/
</Location>
<Location /app2/>
        ProxyHTMLURLMap / /app2/
</Location>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...