Использование: Haproxy как завершение SSL
Требование: наши закрытые ключи защищены паролем, и нам не разрешено удалять пароль для закрытого ключа.
Проблема: если я запустил следующую команду haproxy -f /pathtoconf
отображается запрос пароля, и после ввода пароля запускается haproxy
Чтобы решить эту проблему, я использовал сценарий ожидания, который автоматически предоставляет пароль.
Скрипт для автоматического заполнения пароля
#!/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
Я планирую автоматизировать его с помощью ansible-playbook, но мой вопрос, есть ли какой-либо чистый способ предоставить пароль для закрытого ключа, я немного поискал по этому поводу, но не смог найти какую-либо конфигурацию для него. От команды haproxy было несколько заявлений о том, что есть план обеспечить чистый подход, но он не может быть реализован в версии 1.6 и планирует сделать это в версии 1.7. Я просмотрел примечания к выпуску 1.7, но не смог найти много информации по этой теме. Есть ли какая-либо конфигурация, которую haproxy предоставляет для пароля с закрытым ключом? Или, если кто-то реализовал хорошее решение для преодоления этой проблемы, не могли бы вы направить меня в этом направлении.
Моя примерная конфигурация
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