Обратный прокси Apache, озадачивающий меня с перенаправлениями

Какова конечная цель здесь? У Вас должна будет быть возможность соединения между Вашим офисом и поставщиком VPN, если Вы не разместите VPN Ваш сам.

1
задан 16 August 2012 в 00:58
2 ответа

Чтобы повторить проблему:

Вы установили новое «внутреннее» приложение и сделали его доступным в папке / bar на вашем внешнем хосте. Доступ к приложению приводит к перенаправлению на / search , а не на / bar / search .

Обычно это происходит из-за того, что серверное приложение ничего не знает о пути внешнего интерфейса в к которому вы обращаетесь, и генерирует абсолютные (а не относительные) URL-адреса. Есть несколько способов решения этой проблемы:

  • Некоторые приложения позволяют настроить базовый URL-адрес, который они будут использовать при генерации абсолютных ссылок. Это самое простое решение, если оно доступно; вы должны установить базовый URL на http: // frontendhost / bar .
  • Если вы не можете настроить или изменить приложение, то вы Вам нужно будет фильтровать HTML, который он генерирует, для перезаписи ссылок. Это (явно) то, для чего предназначен mod_proxy_html . Обратите внимание, что для Apache 2.4 и более поздних версий mod_proxy_html [включен] [] в качестве стандартного модуля; для более ранних версий Apache вам необходимо установить его отдельно.

В документации mod_proxy_html есть несколько хороших примеров.

2
ответ дан 3 December 2019 в 21:44

Попробуйте что-то вроде:

ProxyPassReverse /bar/ http://backend.example.com/search/

поскольку ProxyPassReverse - это то, что перезаписывает заголовок, и ваше новое приложение немного отличается на бэкэнде, поскольку оно размещено в / search, а не / как и ваша предыдущая установка

* edit Извините, я не использовал mod_proxy_html раньше, но то же самое касается ваших директив ProxyHTMLURLMap. Также необходимо отобразить / search в / bar.

0
ответ дан 3 December 2019 в 21:44

Теги

Похожие вопросы