Установка ssl сертификата на локальный сайт

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (12)

просмотр истории страницы
[https://letsencrypt.org]

Выдержка из руководства "Приступая к работе" с сайта letsencrypt.org:
_...Установите Certbot на ваш компьютер для запуска в [ручном режиме|https://certbot.eff.org/docs/using.html#manual]. Загрузите специальный файл в папку сайта, чтобы подтвердить факт владения. Certbot создаст сертификат для доменного имени этого сайта, для последующей отправки на web-сервер..._
К сожалению, поддержка CentOS 6 в Certbot от Let's Encrypt прекращена, и установить его на биллинг достаточно проблематично.
Создайте сертификат на стороннем сервере и положите вручную на сервер биллинга.

h2. Инструкция по установке сертификата
h2. Отладка

Если при запуске *httpd* отображается сбой:
1. Необходимо проверить лог ошибок, который находится в */app/asr_cabinet/var/log/httpd/error_log.*
2. Провести проверку соответствия сертификата и ключа. Для проверки необходимо вычислить md5 хэш модуля каждого файла. Равенство хэша означает соответствие private key и сертификата
Если при запуске *httpd* отображается сбой, Вы можете попробовать найти причину в логе */app/asr_cabinet/var/log/httpd/error_log.*: по типовым ошибкам и как их решать очень много информации в интернете: как правило, это ошибки синтаксиса в файлах конфигурации (не хватает каких-то символов, лишние символы, "директивы" не на своём месте и тд).

Вычисление хэша ключа выполняется под chroot /app/asr_cabinet/
Ниже описаны ошибки, с которыми сталкивались наши инженеры, решая такие кейсы на страших уровнях поддержки.

{code}openssl rsa -modulus -noout -in /etc/pki/tls/private/ca.key | openssl md5{code}
h3. Закрытый ключ не подходит к сертификату

Вычисление хэша сертификата
Проверьте соответствие сертификата и его ключа консольными команда. Для этого необходимо вычислить md5 хэш модуля каждого файла. Равенство хэша означает соответствие private key и сертификата

# Зайдите в контейнер: {code}chroot /app/asr_cabinet/{code}
# Проверьте контрольную сумму файла сертификата
{code}openssl rsa -modulus -noout -in /etc/pki/tls/private/ca.key | openssl md5{code}
# Проверьте контрольную сумму закрытого ключа
{code}openssl x509 -modulus -noout -in /cfg/etc/pki/tls/certs/ca.crt | openssl md5{code}

Значения (stdin)= 342bd7490c3b79c8******* должны совпасть после выполнения обеих команд.
Если в выводе будут разные значения: значит, ошибка в этом.

h4. Как исправить

# Положите на сервере правильную пару сертификата и закрытого ключа
# Перезапустите веб-сервер:
{code}chroot /app/asr_cabinet/ service httpd restart{code}

h3. Сертификат установили, но при открытии сайта всё равно ошибка сертификата. Как проверить, на какой домен выдан сертификат?

Зайдите на сервер по SSH и выполните проверку утилитой curl:
{code:title=curl -ssvvkI https://169.254.0.80:443 2>&1 | grep subject}
* subject: CN=10.90.185.127,OU=Fiscal secure web server,O=Carbon_Billing
{code}
В примере выше сертификат самоподписной, это видно по тексту *CN=10.90.185.127*: CN означает "Common Name", то есть домен для которого сертификат выдан. Тут должен быть Ваш домен.
Например, если сайт и ЛК должны быть доступны по адресу *example.com*, вывод команды должен быть примерно следующим:
{code}
* subject: CN=example.com
{code}

h4. Как исправить

# Купите сертификат на Ваш домен или создайте бесплатный с помощью Let's Encrypt (на другом сервере).
# Настройте сервер по инструкции выше