apache와 tomcat을 proxy ajp로 연동시 특정 패스에 대해서 다른 tomcat으로 연동이 가능할지요?

bumworld의 이미지

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>
세이군의 이미지

이렇게 보시면 될 것 같습니다.
설정파일을 위에서 아래로 적용하니까

<Location /*>
        ProxyPass balancer://tomcat_cluster stickysession=JSESSIONID
</Location>

설정 위에
<Location /http-bind/*>
        ProxyPass <a href="//127.0.0.1:38009" rel="nofollow">ajp://127.0.0.1:38009</a>
</Location>

를 넣어주시면 http-bind/* 경로가 아닌 나머지 부분은 프록시로 넘어갈 것으로 여겨집니다.
bumworld의 이미지

말씀하신대로 을 위로 올려도 마찬가지 입니다.

<Location /http-bind/*>
        ProxyPass <a href="//127.0.0.1:38009" rel="nofollow">ajp://127.0.0.1:38009</a>
</Location>

이부분을 위로 올려도 그렇네요..

그리고 테스트 할때 Location 부분을 전부 빼도 제대로 url들이 call이 됩니다.

아무래도 directory에 있는 RewriteRule (.*) balancer://tomcat_cluster/$1 [P] 이 부분 때문에 되는것 같은데요..

어떻게 해야 할까요...ㅠ.ㅠ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.