Назад | Перейти на главную страницу

Как правильно добавить доверенный сертификат SSL на веб-страницу?

Я пытался следовать инструкции 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:

  1. сгенерировать файл CSR вместе с закрытым ключом SSL: openssl req -newkey rsa: 2048 -nodes -keyout domain.key -out domain.csr
  2. Следуйте инструкциям от: https://ca.godaddy.com/help/nginx-on-centos-7-install-a-certificate-27192

В случае самоподписанного сертификата:

  1. сгенерировать ключ CA ROOT SSL

    openssl genrsa -out rootca.key 2048

  2. Сгенерировать ПУБЛИЧНЫЙ SSL CA ROOT

    openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1024 -out rootca.pem

  3. Создать частный SSL домена:

    openssl genrsa -out mydomain.key 2048

  4. Создать домен CSR SSL openssl req -new -key mydomain.key -out mydomain.csr

  5. Сгенерируйте открытый ключ 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)