Chapter 1. Подготовить сертификат для использования в Apache
Для работы SSL серверу apache нужно два файла — закрытый ключ (который пришел по почте, и он уже готов), и подготовленный сертификат.
Суть подготовки заключается в том, что нужно ваш личный сертификат (выданный для вашего mydomain.ru) объединить в один файл с сертификатами центра, выдавшего данный сертификат (Comodo).
Архив с сертификатом, который высылается вам на почту, содержит следующие файлы:
1. AddTrustExternalCARoot.crt — сертификат корневого центра сертификации
2. COMODORSAAddTrustCA.crt — сертификат самого Comodo
3. COMODORSADomainValidationSecureServerCA.crt — сертификат сервера Comodo, валидирующего домены
4. mydomain_ru.crt — сертификат вашего сайта
Нам необходимо объединить файлы 2,3,4 в один файл, что в консоли linux делается простой командой:
cat ./mydomain_ru.crt ./COMODORSADomainValidationSecureServerCA.crt ./COMODORSAAddTrustCA.crt > ./mydomain_ru.cert
Также, вам на почту должен был прийти архив с CSR-файлом, а также файлом закрытого ключа. Об этом говорилось в самом начале данной заметки. В присланном архиве должно быть 2 файла — csr.txt и rsa.txt, могут они называться и несколько иначе, однако, факт в том, что приватный ключ — это НЕ CSR, а значит, в данном случае, он находится в файлу rsa.txt. Переименуем его для большей узнаваемости:
mv ./rsa.txt ./mydomain_ru.key
Chapter 2. Корневой сертификат для PositiveSSL *.ca.crt от Comodo
Chapter 3. Включить SSL в nginx с использованием сертификата
В ваш конфигурационный файл после server_name нужно добавить:
SSLCertificateFile /etc/ssl/crt/mydomain_ru.cert SSLCertificateKeyFile /etc/ssl/crt/mydomain_ru.key SSLCertificateChainFile /etc/ssl/crt/bundle.crt
Пример конфигурации, на которой сайт заработает через SSL:
<VirtualHost 192.168.0.1:443> DocumentRoot /var/www/html2 ServerName www.vash-domain.com SSLEngine on SSLCertificateFile /etc/ssl/crt/mydomain_ru.cert SSLCertificateKeyFile /etc/ssl/crt/mydomain_ru.key SSLCertificateChainFile /etc/ssl/crt/bundle.crt </VirtualHost>
Подобный конфиг-файл можно положить в папку /etc/httpd/sites-available и сделать на этот файл симлинк в папке /etc/ngins/sites-enabled, после чего перезапустить Apache.
Chapter 4. Проверка сертификата
Для проверки можно зайти вот сюда: https://sslanalyzer.comodoca.com/, и, вбив имя своего домена, посмотреть, что видит там сторонний наблюдатель, причём во всех подробностях.
Еще можно проверить безопасность ваша сертификата: https://www.ssllabs.com/ssltest/