Як налаштувати https на OpenServer

Як налаштувати https на OpenServer

Створити SSL Серитфікат

Створити (у будь-якому місці та з будь-яким ім'ям) файлик generate-cert.bat зі змістом:

Уважно перевірте всі шляхи, у вас вони напевно відрізнятимуться! Запускати з під консолі OpenServer!
    @echo OFF
    rem ВКАЖІТЬ ПРАВИЛЬНІ РОЗМІЩЕННЯ ФАЙЛІВ
    set OPENSSL_CONF=D:\OpenServer\modules\http\Apache_2.4-PHP_7.2-7.4\conf\openssl.cnf
    PATH=%PATH%;D:\OpenServer\modules\http\Apache_2.4-PHP_7.2-7.4\bin
     
    rem Кількість днів сертифіката
    set days=3000
    set key_bits=2048
     
    rem Домен для якого створюється сертифікат
    set dname=site.loc
     
    rem ВКАЖІТЬ ПРАВИЛЬНІ РОЗМІЩЕННЯ ФАЙЛІВ
    rem Розташування кореневого сертифіката та ключа
    set root_cert=D:\OpenServer\userdata\config\cert_files\rootCA.crt
    set root_key=D:\OpenServer\userdata\config\cert_files\rootCA.key
     
    echo [trust_cert] > %dname%.cnf
    echo subjectAltName=@alt_names >> %dname%.cnf
    echo keyUsage=digitalSignature,keyEncipherment,dataEncipherment >> %dname%.cnf
    echo extendedKeyUsage=serverAuth,clientAuth >> %dname%.cnf
    echo [alt_names] >> %dname%.cnf
    echo DNS.1 = %dname% >> %dname%.cnf
     
    openssl genrsa -out %dname%.key %key_bits%
     
    openssl req -sha256 -new -utf8 -key %dname%.key -out %dname%.csr -subj /emailAddress="info\@ospanel\.io"/C=RU/stateOrProvinceName="Russian Federation"/L=Moscow/O="Open Server Panel"/OU=Software/CN=%dname%:3000
     
    rem Для створення сертифіката, підписаного довіреним сертифікатом
    openssl x509 -sha256 -req -days %days% -in %dname%.csr -extfile %dname%.cnf -extensions trust_cert -CA %root_cert% -CAkey %root_key% -out %dname%.crt
     
    openssl x509 -in %dname%.crt -noout -purpose
     
    rem Видалення тимчасових файлів
    del %dname%.csr
    del %dname%.cnf
     
    pause

Додати rootCA.crt та site.loc.crt до довірених кореневих центрів сертифікації

При установці першого локального домену потрібно додати rootCA.crt до довіреного сховища. Для цього клацаємо правою кнопкою миші за сертифікатом rootCA.crt, вибираємо Встановити сертифікат -> ...  -> "Помістити всі сертифікати в наступне сховище" -> "Довірені кореневі центри сертифікації".

Застосувати SSL для конкретного домену

Скопіюйте файл конфігурації (у мене це файл Apache_2.4-PHP_7.2-7.4_vhost.conf) з папки userdata\config в кореневу дерикторію домену (там, де у є основний index.php) і треба змініть у копії конфіга шляхи до файлів сертифіката:

SSLCertificateFile       "%sprogdir%/userdata/config/cert_files/site.loc.crt"
SSLCertificateKeyFile    "%sprogdir%/userdata/config/cert_files/site.loc.key"

Все перезавантажити

Повністтю закрити браузер для якого налаштовується та перезавантажити OpenServer.