Иногда возникает необходимость открывать в браузере локальный сайт через https, например, для отладки функционала, доступ к которому ограничен по http (геопозиция, копирование в буфер и т.д.).
1. Устанаваливаем утилиту mkcert
sudo apt update
sudo apt install libnss3-tools
sudo apt install mkcert
sudo apt install golang-go
go install filippo.io/mkcert@latest2. Создаем корневой сертификат
mkcert -install3. Создаем сертификат для локального сайта
mkdir -p ~/certs && cd ~/certs
mkcert my-project.local localhost 127.0.0.14. Проверяем папку, должны появится файлы
~/certs ls
# my-project.local+2.pem (сертификат)
# my-project.local+2-key.pem (ключ)5. Добавляем сертфикат в настройку Nginx
server {
listen 443 ssl;
server_name my-project.local;
ssl_certificate /home/username/certs/my-project.local+2.pem;
ssl_certificate_key /home/username/certs/my-project.local+2-key.pem;
root /var/www/my-project;
index index.html;
.....
}
server {
listen 80;
server_name my-project.local;
return 301 https://$host$request_uri;
}6. Перегружаем Nginx
sudo nginx -t
sudo systemctl reload nginx