Proxy Apache/redirecionamento https para https com um ip

Proxy Apache/redirecionamento https para https com um ip

Eu tenho um WAN-IP com um servidor apache que hospeda A.domain.com e irei reverter o proxy para B.domain.com para outro servidor na mesma rede local.

Sem SSL resolvi assim nos vhosts:

<VirtualHost *:80>
ServerName Z.domain.com
ProxyRequests Off

ProxyPass / http://1.1.1.7/
ProxyPassReverse / http://1.1.1.7/

mas com SSL habilitado não funciona assim...

para melhor compreensão tentei desenhá-lo:

                                       -- A.domain.com(local IP:1.1.1.1)
                                      |
WAN --¦Firewall (NAT to 1.1.1.1) ¦-- LAN
                                      |
                                       -- B.domain.com(local IP:1.1.1.2)

O servidor 1.1.1.1 deve redirecionar para 1.1.1.2

minha configuração /etc/apache2/sites-available/B.domain.com.conf:

<VirtualHost *:443>
        ServerName B.domain.com
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/B.domain.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/B.domain.com/privkey.pem

        ProxyRequests Off
        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>
        ProxyPass / https://1.1.1.2/
        ProxyPassReverse / https://1.1.1.2/
</VirtualHost>

Eu ativei com: a2ensite B.domain.com e reiniciei o apache. O resultado é um erro interno do servidor se eu ligar para o site. Sem o eu tenho a mesma culpa.

Se eu ligar, apache2ctl -Sparece tudo bem.

Responder1

Tentei as informações do ezra-s "SSLProxyEngine on", mas ainda recebo o erro:

O servidor proxy não conseguiu processar a solicitação GET/

Motivo: Erro durante o handshake SSL com servidor remoto

Depois de alguma pesquisa, encontrei uma solução funcional.

minha configuração /etc/apache2/sites-available/B.domain.com.conf agora:

<VirtualHost *:443>
    ServerName B.domain.com
    SSLProxyEngine on
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off

    SSLCertificateFile /etc/letsencrypt/live/B.domain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/B.domain.com/privkey.pem

    ProxyPass / https://1.1.1.2/
    ProxyPassReverse / https://1.1.1.2/

Mas a conexão externa ainda é segura agora?

Responder2

Experimente um método mais simples e altere ProxyPass httpspara http.

    ProxyPass        / http://1.1.1.2/
    ProxyPassReverse / http://1.1.1.2/

É bastante comum um frontend (também conhecido comoproxy reverso) para conversar com o back-end com http simples se você proteger razoavelmente a rede 1.1.1.0.

Provavelmente, você não implementou o servidor https em 1.1.1.2... isso causaria os sintomas de erro interno 50x que você descreve.

informação relacionada