Configure a autenticação de certificado do cliente Apache para o proxy

1

Eu tenho 3 servidores de API de back-end (HTTPS), servidores de API têm permissões de autorização diferentes para usuários diferentes com base no certificado de usuário, estou configurando o apache para balancear a carga dos 3 servidores backend, como abaixo

<VirtualHost *:zzzz>
       SSLEngine on
       SSLCertificateFile /path/to/server.crt
       SSLCertificateKeyFile /path/to/server.key
       SSLCACertificateFile /path/to/ca.crt
       SSLProxyEngine on
       SSLProxyVerify none
       SSLProxyCheckPeerCN off
       SSLProxyCheckPeerName off
       SSLProxyCheckPeerExpire off
       <Proxy balancer://api_server>
           BalancerMember https://xx.xx.xx.xx:yyyy
           BalancerMember https://xx.xx.xx.xx:yyyy
       </Proxy>
       ProxyPass / balancer://api_server/
</VirtualHost>

O problema é que, quando uma solicitação do cliente apache , com certificados, apenas a solicitação vai para o servidor da API, não para os certificados e para o usuário não autorizado, tentei usar SSLProxyMachineCertificateFile , mas ela só aceita uma conjunto de certificado, e toda vez que passa o mesmo certificado, mas neste caso, a autorização acontece apenas com base em certificados.

Existe uma maneira de encaminhar cegamente a solicitação HTTPS para a API? ou qualquer outra sugestão é calorosamente bem-vinda.

    
por sureshelavazhathi 21.12.2017 / 13:46

1 resposta

0

O usuário fala com Apache e, em seguida, Apache fala com o balanced machines . Esse é o ponto de um proxy, isso garante que os clientes não conversem diretamente com os servidores. Portanto, da perspectiva do servidor balanceado, Apache é o cliente. então Layer 4 load balancing é o único caminho a percorrer.

Para aqueles que se perguntam pela solução, eu configurei NGINX para L4 load balancing , agora está funcionando bem.

    
por 24.12.2017 / 06:09