
Eu tenho um servidor Apache que estou tentando usar para acesso proxy à minha página de administração do activeMQ. Consigo carregar a página de destino inicial corretamente, mas não consigo carregar nenhuma das subpáginas (Filas, Conexões, etc.). Minhas regras de proxypass no servidor Apache são as seguintes:
ProxyPass /foo http://10.5.124.108:8161/admin
ProxyPassReverse /foo http://10.5.124.108:8161/admin
A instalação do activeMQ incluiu um arquivo activemq-httpd.conf em /etc/httpd/conf.d/. As conexões proxy estão habilitadas:
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
Pelo que li, as regras do proxypass devem ser recursivas (a regra para /foo também deve funcionar para /foo/bar). Há mais alguma coisa que estou perdendo aqui que está me impedindo de acessar páginas além da página inicial do administrador?
Responder1
mod_proxy não reescreve links na página de destino, portanto, embora você possa visualizar a página inicial, um problema comum é que os links para subpáginas contêm um nome de host ou URL que não aponta para o frontend do proxy que você possui acesso a. Isso deve ser fácil de identificar na fonte HTML ou apenas passando o mouse sobre os links.
Se isso estiver acontecendo, talvez seja possível configurar o AMQ para usar o nome do host do proxy em vez do seu próprio.
Os URLs do Proxypass são recursivos, mas, novamente, somente quando o link está correto. Se você remapear /message para /admin/send e houver um link abaixo para /admin/send/foo - ele não será redirecionado para /message/foo. Você provavelmente poderia adicionar algum mod_rewrite foo para que isso acontecesse, mas não acredito que faça parte do mod_proxy.