1. Сгенерировать SSL Серитфикат
Создать (в любом месте и с любым именем) файлик .bat
с содержанием:
! Внимательно проверьте все пути, у вас они наверняка будут отличатся
@echo OFF rem УКАЖИТЕ ПРАВИЛЬНЫЕ РАСПОЛОЖЕНИЯ ФАЙЛОВ set OPENSSL_CONF=E:\open-server\modules\http\Apache_2.4-PHP_7.0-7.1-x64\conf\openssl.cnf PATH=%PATH%;E:\open-server\modules\http\Apache_2.4-PHP_7.0-7.1-x64\bin rem Количество дней действия сертификата set days=730 set key_bits=2048 rem Наименование домена, для которого создаётся сертификат set dname=loc-domain.test rem УКАЖИТЕ ПРАВИЛЬНЫЕ РАСПОЛОЖЕНИЯ ФАЙЛОВ rem Расположение корневого сертификата и ключа set root_cert=E:\open-server\userdata\config\cert_files\rootCA.crt set root_key=E:\open-server\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
Сгенерированные файла поместить в userdata\config\cert_files
.
2. Добавить rootCA.crt
в Доверенные корневые центры сертификации
При установки для первого локального домена нужно добавить rootCA.crt
в доверенное хранилище. Для этого кликаем правой кнопкой мыши по сертификату rootCA.crt
, выбираем Установить сертификат
-> ... -> "Поместить все сертификаты в следующее хранилище" -> "Доверенные корневые центры сертификации".
3. Применить SSL для конкретного домена
Ок, сертификат установлен, теперь его нужно активировать для определенного домена. Для этого:
Скопируйте файл конфигурации (у меня это файл Apache_2.4-PHP_7.0-7.1-x64_vhost.conf
), из папки userdata\config
в корневую дерикторию домена (там, где у вас основной index.php) и поменяйте пути к файлам сертификата:
Если вы затрудняетесь определить какая именно у вас конфигурация, то это можно увидеть в Настройках Open Server, во вкладке Модули -> HTTP.
SSLCertificateFile "%sprogdir%/userdata/config/cert_files/loc-domain.test.crt" SSLCertificateKeyFile "%sprogdir%/userdata/config/cert_files/loc-domain.test.key"
Заметки и ссылки по теме:
- https://ospanel.io/forum/viewtopic.php?f=4&t=5012&p=26166#p26166
https://www.digicert.com/ssl-support/apache-multiple-ssl-certificates-using-sni.htm
https://ziscod.com/ssl-sertifikat-v-openserver/
set OPENSSL
там надо указать путь к модулю который вы используете