Eu tenho o RabbitMQ rodando atrás do Apache mod_proxy para que eu possa acessar a interface de gerenciamento da web pela porta 80:
<VirtualHost *:80>
ServerName rabbit.example.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:15672/
ProxyPassReverse / http://localhost:15672/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
Isso parece funcionar, no entanto, quando, por exemplo, vou para a página Filas e clico em uma das filas listadas, obtenho uma página Não encontrado e uma URL parecida com esta:
http://rabbit.example.com/#/queues/%2F/myqueue
O mesmo vale para Conexões, Canais, etc. Parece que só consigo acessar as páginas principais, mas qualquer coisa mais profunda parece resultar em Não encontrado.
Qual é a maneira correta de configurar o RabbitMQ por trás do Apache mod_proxy?
Primeiro você precisa impedir que o apache2.4 decodifique as barras em seu caminho (%2F). Para fazer isso, defina
E você precisa evitar o escape de caracteres 'perigosos' como '#'. Com mod_rewrite esse seria o sinalizador [NE], com mod_proxy definido
Isto resulta em: