Предположим что вы приобрели сертификат от Thawte. Как вы это сделали (напрямую или через посредников не так важно). В итоге у вас должен быть вход в контрольную панель аккаунта. Это «User Portal» — «End User Home».
А дальше начинается волшебство.
Если у вас есть валидный приватный ключ, на основе которого генерировался сертификат, то следующие два абзаца можно не читать.
Если ключа нет, то создадим его
openssl genrsa -out server.key 2048
server.key — это имя файла, который будет создан. Этот файл очень важен так как он будет использоваться в паре с сертификатом. Если этот файл будет утрачен, то придется его пересоздавать и перегенерировать SSL сертификат.
Теперь на основе ключа создадим запрос на сертификат
openssl req -new -key server.key -out server.csr
Будет создан файл server.csr. Нам нужно его содержимое. И нужно оно только на момент запроса сертификата.
Запросить создание сертификата можно в контрольной панели Thawte. Это пункт меню: «Reissue Certificate». На этой странице надо вставить в форму содержимое CSR файла. Как есть — т.е. полностью. После отправки запроса на почту придет письмо от Thawte с просьбой одобрить создание сертификата. После того как сертификат одобрили, надо подождать пока он сгенерируется. Обычно это 10-20 минут. По факту создания приходит письмо с уведомлением. Если письма долго нет, то лучше сразу паниковать и обращаться в тех поддержку 🙂
Теперь у нас есть приватный ключ и сгенерирован сертификат. Надо зайти в личный кабинет в раздел » View Certificate Information». Там будет представлен сгенерированный сертификат,а также два дополнительных сертификата: «Certificate Issuer» и «Intermediate CA 1». На основе этих трех сертификатов надо создать файл server.pem который будет использоваться nginx. Создать этот файл очень просто. Надо взять все три сертификата и соединить в один файл. Делать можно как угодно. Самое простое — это обычный Copy-Paste. Выделили текст сертификата, включая строки «——BEGIN CERTIFICATE——» и «——END CERTIFICATE——» и вставили в server.pem Вставлять сертифкаты нужно именно в таком порядке как они выводятся на странице «Certificate Information»: 1 сгенерированный сертификат, 2 «Certificate Issuer» и 3. «Intermediate CA 1»
Полученные файлы: server.key и server.pem заливаем на сервер. В конфиг nginx надо добавить следующие строки
ssl_certificate /path/to/server.pemt; ssl_certificate_key /path/to/server.key; ssl_verify_depth 3;
Особое внимание надо уделить директиве ssl_verify_depth 3;. Есть подозрение что без этой директивы сертификат не будет доверенным и мало чем будет отличаться от «самодельного».
После перезапуска nginx все должно заработать. Т.е. при заходе по https браузер не должен выкидывать какие-либо предупреждения.
Ну и на закуску: https://www.wormly.com/test_ssl/ Очень удачная утилита для тестирования того факта что SSL у вас на сервере настроен правильно.