У меня запущены ActiveMQ и Accumulo, у каждого из которых есть собственная веб-консоль. Я бы хотел поставить перед ними apache httpd. Я установил mod_proxy и добавил следующее в /etc/httpd/conf.d/proxy.conf
ProxyPass /activemq http://1.2.3.4:8161
ProxyPassReverse /activemq http://1.2.3.4:8161
ProxyPass /accumulo http://5.6.7.8:50095
ProxyPassReverse /accumulo http://5.6.7.8:50095
Проблема в том, что сайты AMQ и Accumulo не работают / не выглядят должным образом, потому что их HTML пытается загрузить изображения, css, js, используя такие URL-адреса, как <img src="/images/logo.jpg">
Как я могу исправить ошибки при загрузке js / css и т. Д.?
У вас есть несколько вариантов, ни один из которых не идеален:
Может быть, вам повезло, и в корне каждого приложения используется только пара неперекрывающихся папок, и вы можете просто добавить несколько директив ProxyPass.
Повторно разверните ActiveMQ и Accumulo, чтобы они больше не устанавливались в корень, а во вложенную папку.
Используйте поддомены для каждого приложения, такие как activemq.example.com и Acculo.example.com, и направляйте туда пользователей вашего сайта.
то есть что-то вроде:
<VirtualHost *:80>
ServerName activemq.example.com
ProxyPass / http://1.2.3.4:8161
ProxyPassReverse / http://1.2.3.4:8161
</VirtualHost>
Я не проверял, хорошо ли он сочетается с mod_proxy и может вызвать значительные накладные расходы, но, возможно, работает следующее:
<Location /activemq/>
ProxyPass http://1.2.3.4:8161
ProxyPassReverse http://1.2.3.4:8161
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|/images/|/activemq/images/|i"
</Location>