2012-11-08 3 views
1

Apple MDM에서 사용하는 컨텍스트 루트의 이름을 변경했으며 이미 등록 된 장치와 역 호환 될 필요가 있습니다. 우리는 JBoss를 실행 중입니다하나의 응용 프로그램을위한 다중 컨텍스트 루트

첫 번째 시도는 application.xml에 새로운 컨텍스트 루트와 동일한 war 파일을 추가하는 것입니다. 전쟁 파일을 새로운 이름으로 만든 것이 아니라면 나는 일하지 않았습니다. 사실이 솔루션이 마음에 들지만 정말로 효과적이지 않습니다.

대신 Valve를 루트 앱에 추가하려고 시도했습니다. 그러면 이전 컨텍스트 루트를 새 것으로 리디렉션합니다. 이것은 또한 장치가 POST를하고 게시 된 바이너리 콘텐츠가 손실 될 때까지 잘 작동했습니다.
이 솔루션의 이점은 Android 및 Windows Phone 용 MDM을 처리하기 위해 새로운 컨텍스트 루트를 준비 할 수 있다는 것입니다.

전달을 사용하여 수행 할 수 있으며 구현하려면 어떻게해야합니까?

답변

2

우리 회사에서는 이러한 문제를 프록시로 해결하여 클라이언트가 JBoss 서버에 직접 액세스하지 않고 JBoss로 리디렉션하는 프록시에 액세스하도록합니다. mod_proxy와 함께 Apache 웹 서버를 사용합니다. 그래서 아파치 mod_proxy를를 사용

, 당신은 그것을 설정하는 것 : 프록시의 이름 apacheserver.com 인 경우

# for the newcontext 
ProxyPass /newcontext http://jbosserver.com/newcontext 
ProxyPassReverse /newcontext http://jbossserver.com/newcontex 
# for the oldcontext 
ProxyPass /oldcontext http://jbosserver.com/newcontext 
ProxyPassReverse /oldcontext http://jbosserver.com/newcontext 

그래서, 당신이 서비스에 액세스 할 수 있습니다 : http://apacheserver.com/newcontext 또는 http://apacheserver.com/oldcontext

이 아키텍처의 또 다른 장점은 클라이언트가 웹 서버에 직접 액세스하지 않기 때문에 보안이 강화된다는 것입니다. 물론 당신은 하나의 컨텍스트에만 국한되지 않고, 원하는만큼 많은 것을 아파치에 만들 수 있습니다.

도움이되기를 바랍니다.

+0

감사의 말 Toni에게 감사드립니다. 나는 너의 제안을 살펴볼 것이다. 우리가 고객을 위해 투명하게 만들기 위해 설치 프로그램 내에 프록시를 패키징 할 수 있는지 여부에 달려 있습니다. 나는 그것이 문제가되어야한다고 생각하지 않는다. – homaxto

+0

글쎄, 우리는 외부 프록시 인 apache를 사용하고 자바 애플리케이션에 임베드 할 수 없다. 그러나 아파치를 사용하고 싶지 않다면, 같은 ear 파일에있는 war (이전 컨텍스트를 통해 액세스 할 수 있음)에 패키징 된 간단한 서블릿을 만들면 응용 프로그램 전쟁의 컨텍스트로 호출이 리디렉션됩니다. – Toni

관련 문제