2010-10-08 15 views
2

J'essaie de configurer un serveur proxy Apache 2.2 pour pointer vers plusieurs instances Weblogic. Je vais assez bien avec tout sauf un point mineur.Apache 2.2 ProxyPass avec Weblogic - Impossible d'utiliser la racine

Je peux obtenir ce travail: ProxyPass/QA http://IP:PORT/

en allant http://IP:PORT/QA

Mais je ne peux pas obtenir ce travail: ProxyPass/http://IP:PORT/

en allant http://IP:PORT/

Je ne comprends pas pourquoi je ne peux pas avoir la carte ProxyPass à la racine (/)

Répondre

0

Je crois qu'Apache ne le permet pas. Il y a un problème potentiel ici avec l'ordre et la préséance des directives contradictoires; Si vous obtenez une demande pour/QA/devrait suivre le match/QA ou le/match? Je suppose que vous essayez peut-être de mapper plusieurs serveurs gérés sur la même adresse/port sans avoir à identifier chaque sous-chemin, c'est-à-dire une règle unique au lieu de plusieurs. Il y a toujours un conflit avec documentRoot. Sans doute, si vous faites une correspondance à la racine, alors quel est le point de la couche Apache - tout est transmis directement et rien n'est servi par Apache lui-même. (Ce qui ne veut pas dire qu'il n'y a jamais de raisons valables de le faire, mais je peux voir pourquoi Apache pourrait le penser).

La seule façon que je sais faire est à l'intérieur d'un hôte virtuel factice (ne sais pas si cela peut être sur le seul port d'écoute, mais je pense que oui):

<VirtualHost *:8080> 
    ProxyPass/http://IP:PORT/ 
    ProxyPassReverse/http://IP:PORT/ 
</VirtualHost> 

Vous pouvez également regarder le Plug-in de proxy WebLogic:

<Location /> 
    SetHandler weblogic-handler 
</Location> 

<IfModule mod_weblogic.c> 
    WebLogicHost IP 
    WebLogicPort PORT 
</IfModule> 
0

Alex, merci pour votre aide!

Pour quelqu'un d'autre essayant d'installer un environnement similaire, j'ai collé ce que j'ai fait ci-dessous.

ProxyRequests OFF 

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 
LoadModule headers_module modules/mod_headers.so 

<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED 
<Proxy balancer://cluster> 
    BalancerMember http://IP:PORT/ route=1 
    BalancerMember http://IP:PORT/ route=2 
    ProxySet stickysession=ROUTEID 
</Proxy> 

<VirtualHost *:80> 
    ProxyPass/balancer://cluster/ 
    ProxyPassReverse/balancer://cluster/ 
</VirtualHost>