O Apache ReverseProxyPass é redirecionado para http em vez de https

3

Eu tenho uma configuração de proxy reverso usando o mod_proxy do apache:

<VirtualHost *:443>
   ServerName reverse.server.com  
   ProxyPass / http://10.1.9.11:3000/
   ProxyPassReverse / http://10.1.9.11:3000/
   ProxyPreserveHost on
   ...snip ssl stuff...
</VirtualHost>

Isso funciona bem na maioria das vezes. O problema é quando o servidor interno faz um redirecionamento. Enquanto o proxypassreverse deve pegar o local, e parece, ele redireciona para link ao invés de link . Então é meio trabalho, o endereço muda corretamente, mas o protocolo fica como o servidor interno.

Não estou claro por que está fazendo isso, já que a conexão com proxy é SSL - alguma idéia?

    
por Paul 14.05.2012 / 17:03

2 respostas

5

ProxyPassReverse não pode corrigir esse tipo de redirecionamento. Existem 2 maneiras de resolver o problema:

  • Use HTTPS para o site interno. por exemplo. ProxyPass / https:... e ProxyPassReverse / https: (na verdade, o último não é necessário no seu caso).
  • Use mod_headers no proxy reverso: Header edit Location ^http: https:
  • Use mod_rewrite no proxy reverso para alterar o redirecionamento.
por 14.05.2012 / 17:15
0

Estou apenas com o mesmo problema. Encontramos 2 ideias para tentar, não sei se realmente funciona: 1 / use o conjunto RequestHeader X-Forwarded-Protocol "https" = > link

2 / use a variável httpsindicatorheader (é um websphere) para indicar através do servidor de aplicativos que a solicitação inicial foi https. Então todo redirecionamento estará em https

    
por 24.05.2012 / 00:24