Практически каждая более или менее крупная компания занимающиеся предоставлением услуг хостинга готова предложить своим клиентам возможность приобретения SSL сертификата от именитых компаний, занимающиеся их выпуском. SSL сертификат предназначен для зашиты сайта, и является ключевым элементом в шифровании информации передаваемой между сайтом и клиентскими программами. Иными словами, можно сказать, что наличие SSL сертификата у сайта служит подтверждением того, что обмен данными между сайтом и браузером производится по защищенному каналу, и призвана обеспечить безопасное соединение и конфиденциальность.
Выпустить сертификат можно самому, и он будет по качеству шифрования ничем не хуже того что вы приобретете у сторонних компаний. Так что же отличает сертификат сделанный самим от того за который следует выплатить некую сумму сторонней компании? Дело в том, что когда вы приобретаете сертификат у сторонней компании, они предварительно удостоверяются в подлинности информации о вас. Главным образом это и способствует симпатии со стороны пользователей к сертификатам данного типа, нежели тем, что сделаны собственноручно владельцами сайта. В этом и заключается основное отличие.
Теперь давайте рассмотрим пример установки SSL сертификата от Comodo в Nginx, под управлением операционной системы Linux CentOS. Перед приобретением сертификата мы создаем секретный ключ и файл CSR (запрос на подпись сертификата), сделаем мы это с помощью команды OpenSSL.
openssl req -new -newkey rsa:2048 -nodes -keyout example_com.key -out example_com.csr
После выполнения команды в директории, в которой вы находились, будут созданы два файла:
После того как вы отправили заявку на сертификат, а так же прошли всю процедуру перед его получением, вам на почту будет отправлен архив, в котором будут находиться файлы, среди которых так же будет ваш SSL сертификат.
Убедитесь, что у вас есть следующие файлы, если их нет, то их можно скачать на самом сайте comodo, за исключением, конечно, вашего сертификата:
Ставим всё это дело в Nginx
Первым делом создадим файл «bundle» — проще говоря, этот файл объединяет в себе несколько ключей. В этом можно убедиться, открыв его в текстовом редакторе.
cat www_example_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
Далее следует поместить созданный файл в директорию вместе с самим SSL сертификатом. Как правило, размещать следует файлы сертификата в директорию, чтобы Nginx имел возможность получить доступ к ней. В нашем примере сертификаты будут находиться в директории /etc/pki/example_com/.
Всё что осталось сделать — это прописать настройки в конфигурационном файле хостов Nginx.
Открываем файл с настройками хостов:
vi /etc/nginx/conf.d/vhosts.conf
Прописываем параметры:
server { listen 443; ssl on; ssl_certificate /etc/pki/example_com/ssl-bundle.crt; ssl_certificate_key /etc/pki/example_com/example_com.key; # side note: only use TLS since SSLv2 and SSLv3 have had recent vulnerabilities ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # ... }
Не забудьте после того как прописали параметры файла перезапустить nginx.
service nginx restart
На этом всё, хотелось бы ещё отметить, что здесь мы устанавливали сертификат PositiveSSL Certificate, другие сертификаты устанавливаются аналогичным образом. Немного внимания, и всё получится. Успехов!