2009-03-19 2 views
3
나는 현재 톰캣 서블릿 1 루트에서 실행 한

: 내가 mod_proxy를를 사용하여 간단하고있어리디렉션 URL 경로를 사용하여 톰캣 서블릿에 전달하기 위해 아파치/mod_proxy를

api1.myhost.com:8080/

api1.myhost.com의 모든 요청을이 인스턴스로 전달합니다. 이것은 현재로 일하고있다.

지금 바람둥이의 동일한 인스턴스 (동일한 IP 주소)에서 실행되는 두 번째 서블릿이 설치 한

:

www.myhost.com:8080/servlet2

나는 새에 대한 모든 요청을 원하는을 URL API2는 두 번째 서블릿으로 이동하도록 : .myhost.com

이제 두 번째 서블릿 인스턴스에 전달됩니다

API2.

api2.myhost.com이 내 서버 IP를 가리키는 A 레코드를 만들었습니다. api2.myhost.com을 www.myhost.com:8080/servlet2로 전달하려면 어떻게합니까?

답변

3

첫 번째 웹 애플리케이션을 가리키는 두 개의 VirtualHost와 두 번째 가상 애플리케이션을 가리켜 야합니다.

<VirtualHost *:80> 
    ServerName api1.myhost.com 
    ProxyPass/http://api1.myhost.com:8080/ 
    ProxyPassReverse/http://api1.myhost.com:8080/ 
</VirtualHost> 

<VirtualHost *:80> 
     ServerName api2.myhost.com 
     ProxyPass/http://www.myhost.com:8080/servlet2 
     ProxyPassReverse/http://www.myhost.com:8080/servlet2 
</VirtualHost> 

경로가 Apache보다 Apache Tomcat에서 다르므로 애플리케이션에서 상대 URL을 사용해야합니다.

+0

멋진 1 개의 작은 수정으로 작동했습니다. 다음 줄도 가져야했습니다. NameVirtualHost * : 80 – Ish

+0

이 가상 호스트 레코드를 어떤 파일에 추가합니까? – frosty

+0

주 아파치 conf 파일에 포함 된 모든 파일. 종종 각 가상 호스트마다 별도의 파일이 있습니다. –