Update

Самоподписанные сертификаты не нужны. Ведь есть letsencrypt.

Суть проблемы

Недавно я описывал как установить сертификат. Это простой способ для получения шифрованного соединения, но способ этот платный, т.к. за сертификат нужно платить. Но иногда (а на самом деле почти всегда) нам нужно получить https в процессе разработки. Для этого и существуют самоподписанные сертификаты (selfsigned certificates).

Что делать

Процесс во многом напоминает установку обычного сертификата, но с большими упрощениями.

Создание SSL-сертификата

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/crt/yourdomain.key -out /etc/nginx/crt/yourdomain.crt

Запустится визард, как при создании ключа и генерации запроса на создание сертфиката, с такими же вопросами. Подробнее в моей статье.

Настройка Nginx

На этом этапе все идентично настройке с обычными сертификатами, смотреть эту же самую статью.

Браузер

Любой современный браузер будет ругаться при соединении с таким сервером, что логично, сертификат самоподписанный и ничего не гарантирует. В процессе разработки игнорируйте эти сообщения, а на продакшен-сервере никогда не используйте самоподписанные сертификаты.

Заключение

Вот собственно и все. Вопросы в мой Telegram @demshin.