Ignore path

? Not sure why you're trying to use mod_rewrite here.

Your VirtualHost can include something like this:

  ProxyPass /service/ balancer://service_cluster/
  ProxyPassReverse /service/ balancer://service_cluster/
  
  ProxyPass / balancer://default_cluster/
  ProxyPassReverse / balancer://default_cluster/
  
  <Proxy balancer://default_cluster>
          BalancerMember http://localhost:4000
          BalancerMember http://localhost:4001
          BalancerMember http://localhost:4002
  </Proxy>

  <Proxy balancer://service_cluster>
          BalancerMember http://localhost:4010
          BalancerMember http://localhost:4011
          BalancerMember http://localhost:4012
  </Proxy>

Add:
ActionController::AbstractRequest.relative_url_root = "/service"
::to your /service/ environment.rb and you should be set.

Or at least it seems to work for me :slight_smile:

FWIW,

Thanks Hassan. I still get the same error though! :confused:
My vhosts.conf looks like this now:

<VirtualHost *:80>
    ServerName myapp.com
    ServerAlias www.myapp.com
  ServerAlias myapp
    DocumentRoot "C:/dev/server/app/myapp/public"

  ProxyPass / balancer://myapp_cluster/
  ProxyPassReverse / balancer://myapp_cluster/

  ProxyPass /service/ balancer://myapp_service_cluster/
  ProxyPassReverse /service/ balancer://myapp_service_cluster/

  <Directory "C:/dev/server/app/myapp/public">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>

  <Directory "C:/dev/server/app/myapp_service/public">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>
<Proxy balancer://myapp_cluster>
  BalancerMember http://localhost:4000
  BalancerMember http://localhost:4001
  BalancerMember http://localhost:4002
</Proxy>
<Proxy balancer://myapp_service_cluster>
  BalancerMember http://localhost:4010
  BalancerMember http://localhost:4011
  BalancerMember http://localhost:4012
</Proxy>

The relative_url_root thing was put into the /service/ environment.rb.

About the rewrites, one reason IIRC is to allow Apache to handle the
static content?
Whether or not my rewrites actually do that is another question. :wink:

I've also tried, in the root application public/.htaccess file, to do:

# If you don't want Rails to look in certain directories,
# use the following rewrite rules so that Apache won't rewrite certain
requests

Thanks Hassan. I still get the same error though! :confused:
My vhosts.conf looks like this now:

        ProxyPass / balancer://myapp_cluster/
        ProxyPassReverse / balancer://myapp_cluster/

        ProxyPass /service/ balancer://myapp_service_cluster/
        ProxyPassReverse /service/ balancer://myapp_service_cluster/

I think the order of the above is significant -- the more specific
reference should come first, because anything will match to /.

Have you looked at your mongrel logs? I'm betting the Routing
Error is coming from a mongrel in your my_app cluster, /not/
the myapp_service_cluster.

</VirtualHost>
<Proxy balancer://myapp_cluster>
  BalancerMember http://localhost:4000
  BalancerMember http://localhost:4001
  BalancerMember http://localhost:4002
</Proxy>
<Proxy balancer://myapp_service_cluster>
  BalancerMember http://localhost:4010
  BalancerMember http://localhost:4011
  BalancerMember http://localhost:4012
</Proxy>

BTW, I think the Proxy elements should be inside the VirtualHost
element, though that's probably not the cause of this problem...

About the rewrites, one reason IIRC is to allow Apache to handle the
static content?

Ah, well, that's totally different. I never do apps with enough static
content to bother :slight_smile:

But I would try swapping the ProxyPass stuff first...

HTH,

Well that helped. =)
Probably because of the order like you said.

The routing error would've had to be in the root app since I haven't
had a /service/ app running most of the time. :wink:

Adding the rewrites again underneath, it reverts back to the old
behaviour, but this isn't being deployed for another couple of months
so I think I'll drop it for now.

Thanks again!,
Bjørn