Створити 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.