2010-09-02 4 views
0

J'ai une application jQuery qui fonctionne correctement sur un serveur web à un seul nœud, mais qui se casse lorsque je l'exécute sur un serveur de cluster de test (Apache mod_proxy_balancer). Le code est la suivante:jQuery get() renvoie un espace vide sur un site Web en cluster, une erreur mod_proxy_balancer?

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

configuration de clustering est:

<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/ 

L'équilibreur de charge d'essai (Apache) est en cours d'exécution sur 10.32.4.37:80. Si je vais à 10.32.4.37:90 ou 10.32.4.37:90 cela fonctionne bien ... mais si je vais à 10.32.4.37:80 ça casse. La valeur de "xml" est toujours vide. Ce qui est étrange, c'est que ça fonctionne bien sur IE 6, mais pas sur Firefox 3.6.8. J'ai essayé sur plusieurs boîtes ...

Je me demande si le obtenir appel a échoué car il pense que son une charge inter-domaines ... qui, techniquement, il est ... mais ne devrait pas ce genre d'appel être d'accord?

Y at-il du vaudou Apache que je peux utiliser pour faire ce travail?

+0

Notez qu'il existe des espaces supplémentaires dans la directive BalanceMember, car StackOverflow pense qu'il s'agit d'un lien :-P – bex

Répondre

1

le fixe ...

Le problème était que je faisais une URL récrire pour "/file/foo.xml", j'avais les mod_rewrite directives proxy sur les deux web back-end serveurs, mais je ne l'ai pas eu sur l'équilibreur de charge frontal.

Naturellement, la réécriture d'URL appartient au serveur frontal, vous n'avez donc qu'à configurer un serveur ... mais vous penseriez que ce serait OK dans les deux cas.

Questions connexes