Proxy Apache Remote para uma incompatibilidade SNI de proxy reverso

6

Tendo um problema com nossa configuração de um Apache-2.2 e um proxy reverso que é intermediado por outro dispositivo.

o fluxo é: Apache A - > proxy.abc.net - > Apache B

O erro que recebemos no Apache B é

Hostname proxy.abc.net fornecido via SNI e hostname backend.abc.net fornecidos via HTTP são diferentes

Configuração atual

    <VirtualHost frontend.abc.com:80>

    ServerName frontend.abc.com

    SSLEngine on
    SSLOptions +StrictRequire
    SSLProtocol -all +TLSv1
    SSLHonorCipherOrder On
    SSLCipherSuite RC4-SHA:HIGH:!ADH:!MD5
    SSLCertificateFile conf/certs/cert.cer
    SSLProxyCACertificateFile certs/proxy.cer
    SSLCertificateKeyFile conf/certs/cert.pem
    SSLCertificateChainFile conf/certs/chain.cer


    DocumentRoot /foo/bar

    SSLProxyEngine On
    ProxyRequests Off
    ProxyPreserveHost off
    ProxyErrorOverride On
    SetEnv proxy-sendchunked 1

    ProxyRemote "*"  https://proxy.abc.net:8080
    ProxyPass  /foo  https://backend.abc.net:8888/foo  disablereuse=on

</Virtual Host>

Adicionando

SSLProxyProtocol SSLv3

funciona porque não faz a checagem do SNI, mas o SSLv3 não é uma opção que é necessário para usar o TLSv1 ou superior.

    
por greyhathero 10.08.2016 / 18:29

1 resposta

1

O Apache 2.2 possui essa verificação codificada (compara o nome do host SNI e o nome do host do Host).

O Apache 2.4 relaxa essa condição e falha apenas se:

        * The request does not select the virtual host that was
        * selected by the SNI and its SSL parameters are different

link

então a resposta é atualizar para o 2.4.

    
por 02.12.2018 / 02:59