linux. Самоподписанный SSL сертификат для работы https на локальной машине c NGINX
Данный материал предоставлен сайтом
PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
linux. Самоподписанный SSL сертификат для работы HTTPS на локальной машине c NGINX.
Иногда для локальной разработки нам может понадобится использовать HTTPS протокол.
В данной статье я приведу пример того, как можно создать самоподписанный SSL сертификат, добавить его в Nginx и запустить проект по HTTPS.
В данной статье я буду описывать весь процесс с использованием Linux Ubuntu 22.04.
Иногда для локальной разработки нам может понадобится использовать HTTPS протокол.
В данной статье я приведу пример того, как можно создать самоподписанный SSL сертификат, добавить его в Nginx и запустить проект по HTTPS.
В данной статье я буду описывать весь процесс с использованием Linux Ubuntu 22.04.
- В первую очередь создайте дирректорию в которой будут храниться ваши сертификаты и перейдите в нее:
sudo mkdir /etc/nginx/certs && cd /etc/nginx/certs
- Сгенерируйте приватный ключ шифрования:В статье я приводу пример с созданием сертификата с именем pacificsky, но вы можете указать любое другое наименование. Но тогда не забудьте поменять и пути в конфигурационных nginx файлах.
sudo openssl genrsa -out "pacificsky.key" 2048
- Теперь необходимо сгенерировать публичный ключ. Для этого необходимо использовать приватный секретный ключ.
При генерации вам будет необходимо ответить на разные вопросы о вашем сервисе. Но так как вы делаете это для лакольной машины, вы можете остать эти поля пустыми.sudo openssl req -new -key "pacificsky.key" -out "pacificsky.csr"
- Далее подписываем и генерируем сертификат.
sudo openssl x509 -req -days 365 -in "pacificsky.csr" -signkey "pacificsky.key" -out "pacificsky.crt"
На этом генерация и подпись сертификатов закончена! - Переходим к настройке Nginx для запуска работы сайта через протокол HTTPS по 443 порту.
Откройте Nginx конфигурационный файл с вашим проектом и добавьте в него слудующие строки для работы вашего сервера на 80 и 443 порту.listen 80: listen 443 ssl;
Добавьте путь к вашему сертификату и ключу:ssl_certificate /etc/nginx/certs/pacificsky.crt; ssl_certificate_key /etc/nginx/certs/pacificsky.key;
Для примера показываю код моего конфигурационного Nginx файла для проекта pacificsky.ru.lan, который находится в дирректории "/etc/nginx/sites-available/pacificsky": - На этом конфигурация конфигурационного Nginx файла завершена. Необходимо перезагрузить Nginx сервис.
sudo service nginx restart
- Теперь запустите браузер, введите url вашего ловального проета с указанием https протокола.
Приведу пример на своем проекте.
Открываю страницу со своим проектом в браузере при обращении к домену:https://pacificsky.ru.lan/
Скорее всего браузер признает ваш самоподписный сертификат недостоверным. Это нормально для самоподписного сертификата.
Браузер может предложить вам открыть сайт с самоподписным сертификатом на свой страх и риск и вы должны согласиться.
Или есть еще один вариант решения проблемы для хромоподобных браузеров (Таких как chrome, opera, edge и тд), на странице с проектом нужно ввести с клавиатуры слово thisisunsafe и сайт должен открыться.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.