Назад | Перейти на главную страницу

SSL-сертификаты Comodo в HAProxy на CentOS7

У меня есть сервер CentOS 7 с HAProxy 1.6 спереди и Apache 2.4 сзади.

Я пытаюсь загрузить сертификаты SSL в HAProxy, однако он ожидает .pem файл.

У меня есть следующие файлы от Comodo:

И попытался слить certificate.crt и certificate.key:

cat certificate.crt certificate.key > haproxy1.pem

Это работает, однако Chain Issues ошибка. Тоже пробовал слить cabundle.crt, certificate.crt и certificate.key в один .pem файл. Но это дает мне SSL handshake failure в журнале 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-----

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

Это дает мне файл, начинающийся с -----BEGIN RSA PRIVATE KEY----- вместо того -----BEGIN PRIVATE KEY----- от интернет-провайдера и другого содержимого base64.

Также очевидно cabundle.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, но, тем не менее, оно работает, поэтому меня это не особо беспокоит.