[Apache2] Reverse Proxy

CodeZero

Power Member
Boas,

Tenho uma aplicação java de email para telemóvel que não funciona com HTTPS, apenas HTTP.
Uma das formas que pensei para contornar a situação, foi montar um reverse proxy.

Pretendo que o meu proxy faça algo como isto:


http://mail.domain.com <-> REVERSE PROXY <-> https://mail.domain.com


A minha configuração actual do vhost é a seguinte:
Código:
NameVirtualHost mail.domain.com:*

<VirtualHost *>
ServerName mail
ServerAlias mail.domain.com


    ProxyPreserveHost On
    ProxyVia full
    SSLProxyEngine On
    ProxyRequests On

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


    ProxyPass / https://mail.domain.com/
    ProxyPassReverse / https://mail.domain.com/

</VirtualHost>
Consigo por o proxy a funcionar sem ligação SSL, mas quando adiciono esta... não me funciona! Na verdade nem tenho a certeza absoluta que isto é possível, mas acredito que sim. Tenho os mod_proxy instalados e o SSL também. Penso que seja mais um problema de configuração.

Alguem tem experiência em algo do genero?
 
Se queres apenas redireccionar "http" para "https" usa algo deste genero:

RewriteEngine on -> activa o mod_rewrite
RewriteCond %{HTTPS} off -> testa uma condicao - neste caso devolve "true" se a variavel "%{HTTPS}" estiver "off"
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} - faz o rewrite do url para "https"


Podes colocar esta configuracao dentro do teu virtualhost.
Para saberes mais informacao sobre o "mod_rewrite" ve aqui.
O "mod_rewrite" e muito poderoso. Permite-te fazer uma diversidade de accoes usando testes condicionais.


O "mod_proxy" e usado para fazer, tal como indica, de proxy.
Basicamente, e um middleman entre o client e o servidor final.
Um uso muito comum de "mod_proxy" e usar o servidor apache para fazer de SSL (https) terminator para uma aplicacao que nao o suporte nativamente e fazer proxy da ligacao em http para a referida aplicacao.

Examplo:

Código:
Cliente ------------- Destino (servidor apache) ----- mod_proxy (servidor apache)
https://www.foo.bar  <->  https://www.foo.bar   <->  http://internalserver.local
 
Última edição:
Back
Topo