Как установить SSL сертификат на Nginx

1. Скопируйте файлы сертификата на сервер.
Скопируйте ваш сертификат (your_domain_name.crt) и корневой сертификат (root.crt), вместе с .key-файлом, который вы генерировали при создании CSR-запроса в директорию на вашем сервере, куда вы собираетесь установить сертификат. Для обеспечения безопасности, сохраняйте файлы с пометкой "только чтение".

2. Соедините сертификат с корневым сертификатом.
Вам необходимо соединить файл сертификата с файлом корневого сертификата в единый .pem файл, выполнив следующую команду:
cat root.crt >> your_domain_name.crt

3. Измените файл виртуального хоста Nginx.
Откройте ваш файл виртуального хоста Nginx для сайта, который вы защищаете. Если вам необходимо, чтобы сайт работал и с защищенным соединением (https), и с незащищенным (http), вам нужен серверный модуль для каждого типа соединения. Сделайте копию существующего серверного модуля для незащищенного соединения и вставьте ниже оригинала. После этого добавьте строчки, который приведены ниже жирным шрифтом:
server {
listen 443;
ssl on;
ssl_certificate /etc/ssl/your_domain_name.crt; (or .pem)
ssl_certificate_key /etc/ssl/your_domain_name.key;

server_name your.domain.com;
access_log /var/log/nginx/nginx.vhost.access.log;
error_log /var/log/nginx/nginx.vhost.error.log;
location / {
root /home/www/public_html/your.domain.com/public/;
index index.html;
}
}

Настройка имен файлов:
ssl_certificate - файл, содержащий основной и корневой сертификаты (шаг 2).
ssl_certificate_key - файл с ключем, который был сгенерирован при создании CSR.

4. Перезагрузите Nginx.
Введите следующую команду для перезагрузки Nginx:
sudo /etc/init.d/nginx restart