Я пытаюсь настроить SSL-сертификат на сайте с помощью веб-сервера nginx. В прошлом я генерировал SSL-сертификаты из Let's Encrypt / Certbot без проблем. На этот раз я приобрел домен .com и положительный SSL-сертификат на MyDomain.com. MyDomain.com не предоставляет файл .zip или ca-bundle для сертификата (т. Е. Отсутствует промежуточный сертификат или корневой сертификат). Вместо этого он дает мне две незашифрованные строки кода для копирования вручную: одну для сертификата и одну для ключа.
Строка сертификата содержит ----- НАЧАТЬ СЕРТИФИКАТ ----- и ----- КОНЕЦ СЕРТИФИКАТА -----
Строка ключа содержит -----НАЧАЛО RSA PRIVATE KEY ----- и ----- END RSA PRIVATE KEY -----
Я вставляю каждую из этих строк в отдельный файл текстового редактора (используя Atom в Ubuntu 18.0) исохранить как .crt и .key соответственно. (Служба поддержки MyDomain.com сообщила мне, что сертификат должен быть .crt, но кто знает?)
Затем я добавляю пути к этим файлам в файл конфигурации моего сайта nginx, как показано ниже:
ssl_certificate /etc/ssl/certs/mysite.com.crt;
ssl_certificate_key /etc/ssl/private/mysite.com.key;
Однако при перезапуске происходит сбой nginx, и когда я проверяю файл конфигурации, я получаю следующее:
$ sudo nginx -t
nginx: [emerg] PEM_read_bio_X509_AUX("/etc/ssl/certs/mysite.com.crt") failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
nginx: configuration file /etc/nginx/nginx.conf test failed
Некоторые вещи, которые я пробовал:
Сохранение сертификата в формате .pem =та же ошибка.
Добавление слова TRUSTED вручную в начало и конец сертификата = та же ошибка.
Попытка преобразования файла на основе его кодировки:
$ sudo openssl x509 -in /etc/ssl/certs/mysite.com.crt -out /etc/ssl/certs/mysite.com.pem -outform PEM
unable to load certificate
140561005191616:error:0909006C:PEM routines:get_name:no start line:../crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
$ sudo openssl x509 -in /etc/ssl/certs/mysite.com.crt -inform der -outform pem -out /etc/ssl/certs/mysite.com.pem
unable to load certificate
139831375835584:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:../crypto/asn1/tasn_dec.c:1130:
139831375835584:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:../crypto/asn1/tasn_dec.c:290:Type=X509
$ sudo openssl x509 -inform DER -in /etc/ssl/certs/mysite.com.crt -out /etc/ssl/certs/mysite.com.pem -text
unable to load certificate
139993835831744:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:../crypto/asn1/tasn_dec.c:1130:
139993835831744:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:../crypto/asn1/tasn_dec.c:290:Type=X509
IЯ не уверен, что делать отсюда. Кто-нибудь успешно установил SSL-сертификат на nginx, используя только файл .crt и файл .key?