Я пытался следовать инструкции Godaddy о том, как добавить сертификат ssl для сервера nginx на centos. На последнем шаге (10) я получал ошибку «несоответствие ключей».
Проведя небольшое исследование, я обнаружил, что, подписав .crt своим ключом, эта ошибка исчезла.
т.е. я побежал:
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
заменяя каждый экземпляр сервера моим доменным именем.
Это устранило ошибку и позволило мне продолжить.
Однако, когда я пытаюсь зайти на свой сайт, я получаю сообщение об ошибке небезопасного соединения.
Что я сделал не так и как правильно включить сертификацию ssl?
В некоторых случаях самоподписанный сертификат может быть в порядке, но имейте в виду, что при этом будет отображаться своего рода предупреждение практически в любом браузере (и должно быть правильно).
При использовании самозаверяющего сертификата браузеру предлагается установить безопасное соединение с сервером, который представляет «фиктивный» сертификат, который браузер не может проверить, поскольку объект, подписывающий сертификат, неизвестен браузеру ( браузер имеет внутренний «каталог» легитимных объектов, который он принимает в качестве действительных центров сертификации). Иногда вы можете импортировать свою фиктивную подписывающую сущность в браузер, чтобы избавиться от предупреждений, но с Letsencrypt На самом деле лучше отказаться от взлома и просто получить сертификат, выданный центром сертификации, который известен как законный Microsoft, Google и Mozilla.
Если у вас уже есть законный CSR и сертификат, выданный / подписанный законным центром сертификации, то, возможно, проверьте Руководство по Nginx для установки сертификата Letsencrypt.
Зависит от того, что вы пытаетесь сделать.
Вы пытаетесь сделать самоподписанный сертификат?
ИЛИ
Собираетесь купить SSL-сертификат у godaddy?
Если вы собираетесь получить сертификат от godaddy:
В случае самоподписанного сертификата:
сгенерировать ключ CA ROOT SSL
openssl genrsa -out rootca.key 2048
Сгенерировать ПУБЛИЧНЫЙ SSL CA ROOT
openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1024 -out rootca.pem
Создать частный SSL домена:
openssl genrsa -out mydomain.key 2048
Создать домен CSR SSL openssl req -new -key mydomain.key -out mydomain.csr
Сгенерируйте открытый ключ SSL для домена с помощью SSL-сертификатов ROOT CA (это то, что обычно делает поставщик SSL)
openssl x509 -req -in mydomain.csr -CA rootca.pem -CAkey rootca.key -CAcreateserial -out mydomain.pem -days 1024 -sha256
где,
mydomain.key - ваш частный SSL, который вы будете использовать в своей конфигурации nginx: ssl_certificate_key
mydomain.pem - у вас публичный SSL, который вы будете использовать в своей конфигурации nginx: ssl_certificate
rootca.pem - CA SSL, который вам нужно будет установить в вашем браузере (например, Firefox)