1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Apache2] Reverse Proxy

Discussão em 'Dúvidas e Suporte Técnico - GNU/Linux & *nix' iniciada por CodeZero, 26 de Abril de 2009. (Respostas: 1; Visualizações: 1008)

  1. CodeZero

    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?
     
  2. Condez

    Condez [email protected] Member

    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: 28 de Abril de 2009

Partilhar esta Página