Como configurar o Apache para atuar como um proxy SSL para um servidor de aplicativos?

1

Eu tenho um servidor físico que é executado:

  • um servidor Apache (httpd)
  • outro servidor web (digamos Tomcat por motivo de argumento) na porta 1234

Posso configurar o servidor Apache para agir como um proxy para o tráfego SSL, enquanto mantém o servidor de aplicativos inconscientemente de SSL?

O que eu imagino é:

  • O tráfego para o link é redirecionado para o link
  • O tráfego para o link é intermediado por proxy para o servidor de aplicativos.
  • Meu certificado SSL é instalado apenas no servidor Apache, não no servidor de aplicativos
  • Outro tráfego para o servidor Apache ( link ) é servido diretamente do servidor Apache

Qual é a melhor configuração para conseguir isso? (No Ubuntu, se isso importa)

    
por ripper234 15.11.2011 / 17:21

2 respostas

2

Se o Tomcat for executado nas portas padrão (8080 - HTTP, 8009 - AJP) adicione isso à sua configuração do Apache:

<VirtualHost _default_:443>
    .......
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyVia On

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

    <Location /app>
        ProxyPass        ajp://localhost:8009/app
        ProxyPassReverse ajp://localhost:8009/app
    </Location>

    #<Location /app>
    #    ProxyPass        http://localhost:8080/app
    #    ProxyPassReverse http://localhost:8080/app
    #</Location>

    <Location "/app/WEB-INF/">
        deny from all
    </Location>    
   ..........
</VirtualHost>

<VirtualHost *:80>
   ...........
    RewriteEngine On
    RewriteRule ^/app$  https://%{HTTP_HOST}%{REQUEST_URI} [R]
   ...........
</VirtualHost>
    
por 15.11.2011 / 17:46
0

Dê uma olhada no mod_proxy para o Apache, e como usá-lo no 'proxy reverso 'modo.

    
por 15.11.2011 / 17:25