views:

16

answers:

1

I have an jQuery application that works fine on a single-node web server, but breaks when I run it on a testing cluster server (Apache mod_proxy_balancer). The code is this:

$.get("/file/foo.xml", function(xml) {
    alert(xml);
}

Clustering configuration is:

<Proxy balancer://mycluster>
    BalancerMember http:// 10.32.4.37:90
    BalancerMember http:// 10.32.4.57:90
</Proxy>
#ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid
ProxyPass / balancer://mycluster/

The test load balancer (Apache) is running on 10.32.4.37:80. If I go to 10.32.4.37:90 or 10.32.4.37:90 it works fine... but if I go to 10.32.4.37:80 it breaks. The value for "xml" is always blank. What's odd is that it works fine on IE 6, but not Firefox 3.6.8. I tried on several boxes...

I'm wondering if the get call failed because it thinks its a cross-domain load... which technically it is... but shouldn't this kind of call be OK?

Is there some Apache voodoo I can use to make this work?

A: 

Fixed it...

The problem was that I was doing a URL re-writing for "/file/foo.xml", I had the mod_rewrite proxy directives on the two back-end web servers, but I did not have it on the front-end load balancer.

Naturally, the URL rewriting belongs in the front-end server, so you only have to configure one server... but you'd think that this would be OK either way.

bex