Uso: Haproxy como terminação SSL
Requisito: Nossas chaves privadas são protegidas por senha e não podemos remover a senha da chave privada
Problema:
Se eu executar o seguinte comando haproxy -f /pathtoconf
, um prompt de senha será mostrado e, assim que a senha for fornecida, o haproxy será iniciado
Para superar esses problemas, usei o script "Espera", que fornece automaticamente a senha
Script para preencher automaticamente a senha
#!/usr/bin/expect -f
set timeout 20
spawn nohup haproxy -f /opt/reverse-proxies/demo.cfg
expect "Enter PEM pass phrase:"
send "password\r"
expect_background
expect eof
exit
Estou planejando para automatizá-lo usando ansible-playbook, mas a minha pergunta é que há alguma maneira limpa de fornecer a senha para a chave privada, eu fiz alguma pesquisa sobre isso, mas não consegui encontrar nenhuma configuração para o mesmo. Houve algumas declarações da equipe haproxy de que existe um plano para fornecer uma abordagem limpa, mas não poderia chegar em 1.6 e planejando fazer isso em 1.7. Eu olhei para notas de lançamento de 1,7, mas não consegui encontrar muito sobre esse tópico. Existe alguma configuração que haproxy fornece senha de chave privada Ou se qualquer um implementou uma boa solução para superar este problema você poderia por favor me guiar nessa direção.
Minha configuração de amostra
global
log 127.0.0.1 local2 debug
defaults
timeout connect 5000
timeout client 50000
timeout server 50000
#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main
log global
bind *:4000 ssl crt /tmp/server.2.crt.pem
default_backend app
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
log global
mode http
server app1 127.0.0.1:4002
Tags password ssl haproxy private-key