У меня есть сервер CentOS 7 с HAProxy 1.6 на передней панели и Apache 2.4 на задней панели.
Я пытаюсь загрузить сертификаты SSL в HAProxy, однако он ожидает .pem
файл.
Я получил следующие файлы от Comodo:
И попытался объедините certificate.crt
и certificate.key
:
cat certificate.crt certificate.key > haproxy1.pem
Это работает, но вы получите обычную ошибку Проблемы с цепочкой
.
Также попытался объединить cabundle.crt
, certificate.crt
и certificate.key
в один файл .pem
. Но это дает мне сбой подтверждения SSL
в журнале HAProxy.
Как заставить это работать правильно?
Содержимое файла
cabundle.crt
-----BEGIN CERTIFICATE-----
hash
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
hash
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
hash
-----END CERTIFICATE-----
certificate.crt
-----BEGIN CERTIFICATE-----
hash
-----END CERTIFICATE-----
сертификат .key
-----BEGIN PRIVATE KEY-----
hash
-----END PRIVATE KEY-----
haproxy.cfg
frontend public
bind *:80
bind *:443 ssl crt /etc/ssl/certs/private/
Исправлено, выполнив следующие действия:
Мой интернет-провайдер дает мне расшифрованный закрытый ключ, если я указываю кодовую фразу, но это дает мне другой результат, чем когда я сам расшифровываю его с помощью openssl.
Я загрузил зашифрованную версию и сам расшифровал ее, используя кодовую фразу:
openssl rsa -in certificate.key -out rsa.key
Это дает мне файл, начинающийся с ----- НАЧАТЬ RSA PRIVATE KEY -----
вместо ----- НАЧАТЬ ЧАСТНЫЙ КЛЮЧ -----
от провайдера и другое содержимое base64.
Также, очевидно, кабандл .crt
включает корневой сертификат (этот первый блок), в котором нет необходимости, поэтому я удалил этот.
Затем я объединил эти файлы вместе:
cat certificate.crt cabundle.crt rsa.key > domain.com.pem
Также указал его непосредственно в haproxy. cfg
, чтобы предотвратить загрузку неправильного файла:
frontend public
bind *:80
bind *:443 ssl crt /etc/haproxy/ssl/domain.com.pem
Я все еще получаю Проблемы с цепочкой: неправильный порядок предупреждение от SSLLabs, но он, тем не менее, работает, так что меня это особо не беспокоит .