Локальный сайт с https - mcodex

Локальный сайт с https

Иногда возникает необходимость открывать в браузере локальный сайт через 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@latest

    2. Создаем корневой сертификат

    mkcert -install

    3. Создаем сертификат для локального сайта

    mkdir -p ~/certs && cd ~/certs
    mkcert my-project.local localhost 127.0.0.1

    4. Проверяем папку, должны появится файлы

    ~/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