apache와 tomcat을 proxy ajp로 연동시 특정 패스에 대해서 다른 tomcat으로 연동이 가능할지요?
글쓴이: bumworld / 작성시간: 일, 2009/11/29 - 11:01오후
apache와 tomcat을 연동하고 있습니다.
tomcat두대를 cluster로 묶고 apache로 balancer해서 사용하고 있습니다.
xmpp4js를 이용해서 메신저를 테스트 하고 있는데
http-bind를 이용해 통신하는 중에 tomcat1, tomcat2로 서버가 변경되는중간에 에러가 발생하는데요.
그래서 /http-bind/로 들어오는 모든 처리를 다른 tomcat3번으로 돌리고 싶습니다.
tomcat3은 다른 tomcat들과는 cluster로 묶지 않고 단독으로 http-bind 요청만 처리하게 할려고 하구요..
아래 vhost 설정이 현재 설정입니다.
여기에
<Location /http-bind/*> ProxyPass <a href="//127.0.0.1:38009" rel="nofollow">ajp://127.0.0.1:38009</a> </Location>
위 설정을 추가 했는데 /http-bind/ 요청이 tomcat3번으로 안타네요..
그대로 tomcat1번이나 tomcat2로 탑니다.
/http-bind/의 요청을 tomcat3번만 타게 할려면 어떻게 해야 할까요...
apache 설정 고수님의 도움 부탁드립니다.
<VirtualHost *:80> ServerAdmin <a href="mailto:bumworld@gmail.com" rel="nofollow">bumworld@gmail.com</a> DocumentRoot "/home/bumworld/source/webcontent" ServerName <a href="http://www.bumworld.com" rel="nofollow">www.bumworld.com</a> ServerAlias <a href="http://www.bumworld.com" rel="nofollow">www.bumworld.com</a> ErrorLog "/home/bumworld/logs/apache/front_error_log" CustomLog "/home/bumworld/logs/apache/front_access_log" common <Location /*> ProxyPass balancer://tomcat_cluster stickysession=JSESSIONID </Location> <LocationMatch "/WEB-INF"> deny from all </LocationMatch> <Proxy balancer://tomcat_cluster> Order Deny,Allow Deny from all Allow from localhost BalancerMember <a href="//127.0.0.1:8009" rel="nofollow">ajp://127.0.0.1:8009</a> route=tomcat1 loadfactor=50 BalancerMember <a href="//127.0.0.1:28009" rel="nofollow">ajp://127.0.0.1:28009</a> route=tomcat2 loadfactor=50 </Proxy> <Directory "/home/bumworld/source/webcontent"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all DirectoryIndex index.do RewriteEngine On RewriteCond %{REQUEST_FILENAME} \.(htm|html|xhtml|css|jpg|gif|png|swf|js$)$ RewriteRule (.*) - [L] RewriteRule (.*) balancer://tomcat_cluster/$1 [P] </Directory> </VirtualHost>
Forums:
이렇게 보시면 될 것
이렇게 보시면 될 것 같습니다.
설정파일을 위에서 아래로 적용하니까
설정 위에
를 넣어주시면 http-bind/* 경로가 아닌 나머지 부분은 프록시로 넘어갈 것으로 여겨집니다.
말씀하신대로 <Location /http-bind/*> 을 위로 올려도 마찬가지 입니다.
말씀하신대로 을 위로 올려도 마찬가지 입니다.
이부분을 위로 올려도 그렇네요..
그리고 테스트 할때 Location 부분을 전부 빼도 제대로 url들이 call이 됩니다.
아무래도 directory에 있는 RewriteRule (.*) balancer://tomcat_cluster/$1 [P] 이 부분 때문에 되는것 같은데요..
어떻게 해야 할까요...ㅠ.ㅠ
댓글 달기