self_url () mostra um valor incorreto ao usar o balanceador de carga e o PlackUp do Apache

1

Proxies do Apache para uma aplicação PSGI usando HTTP :: Server :: PSGI.

arquivo conf do apache:

<Proxy balancer://my_cluster>
   BalancerMember http://127.0.0.1:3001
   BalancerMember http://127.0.0.1:3002
   BalancerMember http://127.0.0.1:3003
</Proxy>

ProxyPreserveHost On
ProxyPass /dispatch/ balancer://my_cluster/

O URL será:      link

depois de chamar $ self- > query- > self_url () eu recebo:      link

/ o despacho é cortado todas as vezes. Não tenho certeza de qual camada está eliminando ou como recuperá-la.

    
por nathand 26.05.2011 / 22:56

1 resposta

2

Primeiro eu precisava definir ProxyPreserveHost Off (que é o padrão)

Altere o ponto de entrada para o aplicativo PSGI.

builder {
   return $app;
}

torna-se:

builder {
   mount "/dispatch" => $app
}

altere o ProxyPass para:

ProxyPass /dispatch/ balancer://my_cluster/dispatch/

Agora o url_self () funciona como esperado.

    
por 27.05.2011 / 17:28