ajp 프로토콜을 통해 두 개의 tomcat 응용 프로그램에 연결 중입니다. 둘 다 별도의 Tomcat 가상 호스트에서 ROOT.war로 실행됩니다. 서버에서 , 나는 구성한은/etc/hosts 파일ajp 프로토콜을 사용하여 대체 대체 호스트 별명에 연결하십시오.
127.0.0.1 localhost tcvh1 tcvh2
아파치의 httpd.conf :
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
#ProxyPreserveHost On
ServerName app1.example.com
ProxyPass/ajp://tcvh1:8082/
ProxyPassReverse/ajp://tcvh1:8082/
</VirtualHost>
<VirtualHost *:80>
#ProxyPreserveHost On
ServerName app2.example.com
ProxyPass/ajp://tcvh2:8082/
ProxyPassReverse/ajp://tcvh2:8082/
</VirtualHost>
톰캣 : 내가 가지고있는
배포 된 응용 프로그램 : APP1 - $ CATALINA_HOME/tcvh1/ROOT.war APP2 - $ CATALINA_HOME/tcvh2/ROOT.war 이제
, I 포트 8080에서 실행하는 바람둥이을 변경하고 연결하는 프록시 패스를 변경 한 경우 http://tcvh1:8080, 다음은입니다. 하지만 AJP의 설정을 사용하면 은 작동하지 않습니다..
내 호스트 별칭이 AJP에서 작동하지 않는 이유는 무엇입니까? 그것을 작동하게하는 방법이 있습니까?
두 개의 tomcat 인스턴스를 실행하고 있습니까? 이 경우 두 포트 모두에 포트 8082를 사용하려고 시도하는 것처럼 보이므로 작동하지 않습니다 (한 포트에서만 하나의 응용 프로그램 만 수신 대기). 하나의 Tomcat 인스턴스를 다른 포트에서 청취하고 필요에 따라 구성을 업데이트해야합니다. – larsks
@larsks OP에서 두 개의 Tomcat 인스턴스가 실행되고 있지 않습니다. OP가 가상 호스팅을 사용 중입니다. http://tomcat.apache.org/tomcat-7.0-doc/virtual-hosting-howto.html –
을 참조하십시오. "둘 다 별도의 Tomcat 가상 호스트에서 실행 중입니다." Apache에서 가상 호스팅) 또는 Tomcat에서 가상 호스팅을 사용하는 단일 인스턴스. 너 같은 소리 야. – larsks