Чтобы иметь возможность работать с локальной копией веб приложения через HTTPS необходим доверенный SSL сертификат. Сделать такой можно, например, через openssl: выпустить сертификат, заверить локальным корневым и внести в хранилище доверенных сертификатов. Однако это не так быстро в реализации, как хотелось бы, не так безопасно и несет свои неудобства в браузерах. Лучше для таких целей использовать mkcert.
Для начала необходимо установить mkcert. На Ubuntu это можно сделать через brew (но тогда придется ставить и его) или выбрать один из альтернативных способов. Например, через бинарный файл:
apt-get install wget libnss3-tools
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
chmod +x mkcert-v*-linux-amd64
sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
mkcert --version
При успешной операции мы увидим номер версии.
Теперь добавим mkcert в список локальных корневых центров сертификации:
mkcert -install
После чего мы можем легко создавать доверенные сертификаты:
mkcert localhost # Для localhost
mkcert somedomain.local # Для домена somedomain.local
Эти команды создадут в текущей папке файлы *.pem.
Теперь осталось перенести файлы и указать их в настройках веб сервера. Для nginx добавить строки:
server {
server_name somedomain.local;
listen 80;
# Добавляем прослушивание порта 443 для ssl
listen 443 ssl;
# Добавляем использование файлов с сертификатами
ssl_certificate /etc/nginx/certs/somedomain.local.pem;
ssl_certificate_key /etc/nginx/certs/somedomain.local-key.pem;
...
...
}
Вот так легко. Ни в какое сравнение с настройкой того же через openssl.
Полезные ссылки