Назад | Перейти на главную страницу

прокси-сервер для activeMQ

У меня есть сервер apache, который я пытаюсь использовать для прокси-доступа к моей странице администратора activeMQ. Я могу правильно загрузить исходную целевую страницу, но не могу загрузить ни одну из подстраниц (очереди, соединения и т. Д.). Мои правила proxypass на сервере apache следующие:

ProxyPass /foo http://10.5.124.108:8161/admin
ProxyPassReverse /foo http://10.5.124.108:8161/admin

Установка activeMQ включала файл activemq-httpd.conf в /etc/httpd/conf.d/. Там разрешены прокси-соединения:

ProxyRequests On
ProxyVia On

<Proxy *>
Allow from all
Order allow,deny
</Proxy>

ProxyPass /admin http://localhost:8161/admin
ProxyPassReverse /admin http://localhost:8161/admin
ProxyPass /message http://localhost:8161/admin/send
ProxyPassReverse /message http://localhost:8161/admin/send

Из того, что я прочитал, правила proxypass должны быть рекурсивными (правило для / foo также должно работать для / foo / bar). Есть ли что-то еще, чего мне здесь не хватает, что мешает мне получить доступ к страницам за пределами начальной страницы администратора?

mod_proxy не перезаписывает ссылки на целевой странице, поэтому, хотя вы можете просматривать начальную страницу, общая проблема заключается в том, что ссылки на подстраницы содержат имя хоста или URL-адрес, который не указывает обратно на интерфейс прокси, который у вас есть доступ к. Это должно быть легко обнаружить в исходном HTML-коде или просто наведя курсор на ссылки.

Если это происходит, можно было бы настроить AMQ для использования имени хоста прокси-хоста, а не своего собственного.

URL-адреса Proxypass рекурсивны, но опять же, только если ссылка верна. Если вы переназначаете / message на / admin / send и там есть ссылка на / admin / send / foo - она ​​не будет перенаправлена ​​на / message / foo. Вы, вероятно, могли бы добавить немного mod_rewrite foo, чтобы это произошло, но я не верю, что это часть mod_proxy.