Самоподписанный SSL или HTTPS на локальной машине с nginx

При разработке мы иногда сталкиваемся с проблемой, когда необходимо использовать https протокол на локальной машине, и это может стать проблемой для тех, кто не настраивал https и вообще не особо знает что такое SSL.

В данной статье мы с вами сгенерируем и подпишем SSL сертификат прямо на вашей локальной машине, а также настроем подключение к вашему локальному сайту по HTTPS, используя для этого 443 порт и ваши созданные сертификаты.

Делать я это буду в Linux Mint, однако точно также делается и на всех debian-based дистрибутивах. И очень похоже делается на всех остальных.

Для начала создадим директорию, где будем хранить сертификат

Далее мы сгенерируем в ней приватный ключ (ssl_certificate_key)

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

А далее подписываем генерируем сертификат.

Все, сертификаты готовы. Теперь можно их использовать.

Давайте настроим HTTPS для локального сайта на nginx. Открывает конфиг в редакторе и просим nginx слушать не только 80 порт, но и 443

Также добавим путь к нашему сертификату и ключу

На этом конфигурация завершена. После рестарта nginx’а ваш локальный сайт будет доступен по https.

Проверить сертификат можно консольной командой

Ключ «—no-check-certificate» позволяет игнорировать проверку сертификата, это важно, если ваш сертификат самоподписанный.

Можете зайти с браузера на свой локальный сайт по https, однако браузер вам скажет что сертификат недостоверный, это нормально для самоподписанного. Если вы зашли с chrome браузера, то просто напишите thisisunsafe и хром вас пропустит. 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.