activeMQ용 프록시 패스

activeMQ용 프록시 패스

내 activeMQ 관리 페이지에 프록시 액세스를 위해 사용하려는 아파치 서버가 있습니다. 초기 랜딩 페이지를 제대로 로드할 수 있지만 하위 페이지(큐, 연결 등)를 로드할 수 없는 것 같습니다. Apache 서버의 내 ProxyPass 규칙은 다음과 같습니다.

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

activeMQ 설치에는 /etc/httpd/conf.d/에 activemq-httpd.conf 파일이 포함되어 있습니다. 프록시 연결이 활성화되었습니다.

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에도 작동해야 합니다). 초기 관리자 랜딩 페이지 이외의 페이지에 액세스하지 못하게 하는 또 다른 요소가 여기에 누락되어 있습니까?

답변1

mod_proxy는 대상 페이지의 링크를 다시 작성하지 않으므로 초기 페이지를 볼 수 있지만 일반적인 문제는 하위 페이지에 대한 링크에 있는 프록시 프런트엔드를 다시 가리키지 않는 호스트 이름이나 URL이 포함되어 있다는 것입니다. 액세스. 이는 HTML 소스에서 또는 링크 위에 마우스를 올려 놓으면 쉽게 찾을 수 있습니다.

그런 일이 발생하면 자체 호스트가 아닌 프록시 호스트의 호스트 이름을 사용하도록 AMQ를 구성하는 것이 가능할 수 있습니다.

Proxypass URL은 재귀적이지만 링크가 올바른 경우에만 다시 적용됩니다. /message를 /admin/send로 다시 매핑하고 그 아래에 /admin/send/foo로 가는 링크가 있다면 /message/foo로 리디렉션되지 않습니다. 아마도 mod_rewrite foo를 추가하여 그렇게 할 수 있지만 이것이 mod_proxy의 일부라고는 생각하지 않습니다.

관련 정보