Чтобы иметь возможность работать с локальной копией веб приложения через HTTPS необходим доверенный SSL сертификат. Сделать такой можно, например, через openssl: выпустить сертификат, заверить локальным корневым и внести в хранилище доверенных сертификатов. Однако это не так быстро в реализации, как хотелось бы, не так безопасно и несет свои неудобства в браузерах. Лучше для таких целей использовать mkcert.
Для начала необходимо установить mkcert. На Ubuntu это можно сделать через brew (но тогда придется ставить и его) или выбрать один из альтернативных способов. Например, через бинарный файл:
apt-get install wget libnss3-tools
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert
chmod +x /usr/bin/mkcert
mkcert --version
При успешной операции мы увидим номер версии v1.4.3.
Теперь добавим 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.
Полезные ссылки