proxy reverso HTTPS usando o apache

2

Estou usando essa configuração do Apache para configurar um proxy reverso para um processo em execução na mesma máquina, na porta 8443,

<Directory "/var/www/html">
   Options +FollowSymLinks
   RewriteEngine On
   RewriteCond %{HTTPS} off 
   RewriteRule ^(.*) https://%{HTTP_HOST}/$1
</Directory>

<IfModule mod_proxy.c>

ProxyRequests Off

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

SSLProxyEngine On
ProxyPass / https://127.0.0.1:8443/
ProxyPassReverse / https://127.0.0.1:8443/

</IfModule>

O processo em execução no 8443 já possui o certificado HTTPS / SSL configurado. Esta é uma configuração válida / válida ou posso fazer melhor?

Percebi que, atualmente, até mesmo o http: // fará proxy para https: // sem que a reescrita seja iniciada. Acho que isso pode comprometer o SSL? Eu prefiro ter apenas 443 proxy para 8443 e apenas usar uma reescrita de URL para reescrever as solicitações http: // para https: // requests. Isso é possível usando o apache?

Obrigado.

EDITAR - Aqui está a informação do host virtual, conforme solicitado,

VirtualHost Configuration: 
wildcard NameVirtualHosts and _default_ servers:
_default_:443       127.0.0.1 (/etc/httpd/conf.d/ssl.conf:74)
Syntax OK
    
por Sean Thoman 05.07.2014 / 19:22

1 resposta

2

Para obter as solicitações HTTP para redirecionar, em vez de fazer proxy, você deve fazer duas coisas:

  1. Mova sua configuração de proxy ( SSLProxyEngine a ProxyPassReverse para o host virtual de SSL em /etc/httpd/conf.d/ssl.conf , para que ela se aplique somente

  2. Crie um host virtual HTTP que será redirecionado - provavelmente em um novo arquivo .conf em /etc/httpd/conf.d :

    <VirtualHost *:80>
      ServerName redirect
      RewriteEngine On
      RewriteRule ^(.*) https://%{HTTP_HOST}/$1
    </VirtualHost>
    
por 05.07.2014 / 20:32