Como configurar um proxy reverso para ativar o acesso HTTP com autenticação básica a um servidor HTTPS interno que requer um certificado

2

Temos um servidor interno que requer autenticação baseada em x509, mas fui solicitado a abri-lo com uma autenticação básica de usuário / senha.

Estou tentando configurar um proxy reverso no apache que usa um certificado confiável para se conectar ao servidor interno, mas parece que não consigo escolher e usar o certificado. A autenticação básica funciona bem.

Passando por todas as questões relacionadas aqui e pesquisando por alguns dias, minha aposta é que eu preciso usar algumas diretivas SSLProxy *, mas nada do que eu tentei foi bem-sucedido até agora.

BTW, estou usando um certificado autoassinado para autenticação no servidor interno.

Até agora, meu arquivo .conf é assim:

<VirtualHost *:80>
    ServerName external.server

    SSLProxyEngine on
    UnknownSSLDirectives

    ProxyRequests Off
    ProxyPass        / https://internal.server/
    ProxypassReverse https://internal.server/ /

    <Location />
        AuthType Basic
        AuthName "Authenticated proxy"
        AuthUserFile /etc/httpd/passwd/passwords
        Require user USER
    </Location>

    <Proxy>
        Order Deny,Allow
        Allow from all
    </Proxy>

    RequestHeader unset Authorization

    ErrorLog "logs/proxy.error.log"
    CustomLog "logs/proxy.access.log" common
</VirtualHost>

Eu pareço estar tão perto, mas não consigo penetrar nos intrínsecos da autenticação SSL. Espero que alguém possa me esclarecer.

    
por RogerFC 12.08.2011 / 16:38

1 resposta

2

SSLProxyMachineCertificateFile deve ser o que você está procurando; Verifique se você obteve o certificado do cliente no formato PEM (deve estar descriptografado e as chaves públicas e privadas neste arquivo - -nodes openssl) eo dispositivo deve apresentar esse certificado para autenticação no servidor upstream.

Ah, e semi-não relacionado: as configurações de ProxyPassReverse parecem estar invertidas; eles geralmente devem corresponder a ProxyPass . Não é intuitivo, mas está lá para modificação on-the-fly de caminhos de URL absolutos que o servidor upstream envia em cabeçalhos (na verdade não gosta de entrada reversa).

    
por 12.08.2011 / 16:57