Установка SSL для локального домена на Open Server
Создать (в любом месте и с любым именем) файлик .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/
HTTPS для OpenServer (SSL сертификат)
C:\OpenServer\userdata\config\cert_files\generate-DOM-CERT.bat со следующим кодом:
: Version 1.0 : Author unknown (improved by Kama - wp-kama.ru) @echo off : parameters set DOM=demo.ru set DOM_KEY=demo set APACHE_VER=Apache_2.4-PHP_7.2-7.3-x64 : create .txt config file set config_txt=generate-temp-config.txt ( echo nsComment = "Open Server Panel Generated Certificate" echo basicConstraints = CA:false echo subjectKeyIdentifier = hash echo authorityKeyIdentifier = keyid,issuer echo keyUsage = nonRepudiation, digitalSignature, keyEncipherment echo. echo subjectAltName = @alt_names echo [alt_names] echo DNS.1 = %DOM% echo DNS.2 = www.%DOM% ) > %config_txt% mkdir %DOM_KEY% set OSAPACHE_DIR=%~dp0..\..\..\modules\http\%APACHE_VER% set OPENSSL_CONF=%OSAPACHE_DIR%\conf\openssl.cnf "%OSAPACHE_DIR%\bin\openssl" req -x509 -sha256 -newkey rsa:2048 -nodes -days 5475 -keyout %DOM_KEY%\%DOM_KEY%-rootCA.key -out %DOM_KEY%\%DOM_KEY%-rootCA.crt -subj /CN=OSPanel-%DOM_KEY%/ "%OSAPACHE_DIR%\bin\openssl" req -newkey rsa:2048 -nodes -days 5475 -keyout %DOM_KEY%/%DOM_KEY%-server.key -out %DOM_KEY%\%DOM_KEY%-server.csr -subj /CN=%DOM_KEY%/ "%OSAPACHE_DIR%\bin\openssl" x509 -req -sha256 -days 5475 -in %DOM_KEY%\%DOM_KEY%-server.csr -extfile %config_txt% -CA %DOM_KEY%\%DOM_KEY%-rootCA.crt -CAkey %DOM_KEY%\%DOM_KEY%-rootCA.key -CAcreateserial -out %DOM_KEY%\%DOM_KEY%-server.crt "%OSAPACHE_DIR%\bin\openssl" dhparam -out %DOM_KEY%\%DOM_KEY%-dhparam.pem 2048 del %DOM_KEY%\%DOM_KEY%-server.csr del %DOM_KEY%\%DOM_KEY%-dhparam.pem del %DOM_KEY%\%DOM_KEY%-rootCA.srl del %config_txt% pause
Параметры: DOM — домен для которого создается сертификат DOM_KEY — как будет называться папка с сертификатами и префикс у файлов сертификата. Указываем тут домен без зоны или сокращенное название домена, чтобы вам было понятно от какого домена текущий сертификат. APACHE_VER — имя папки апач сервера из C:\OpenServer\modules\http\. Из этого сервера будет использована библиотека openssl для создания сертификатов.
Между = в параметрах не должно быть пробелов!
// Правильно set DOM_KEY=demo // Неправильно set DOM_KEY= demo set DOM_KEY = demo
#2 Запускаем файл generate-DOM-CERT.bat (как обычный юзер, НЕ админ!)
Для запуска делаем двойной клик по файлу. Файл создаст папку домена (параметр DOM_KEY ) и в ней файлы сертификатов.
#3 Добавляем созданный сертификат в хранилище сертификатов Windows
Для этого запускаем файл DOM_KEY/DOM_KEY-rootCA.crt
ВАЖНО! Файл надо запускать с правами админа! Если в контекстном меню нет пункта "Открыть от админа", то открываем cmd/powerShell от админа и уже от туда запускаем файл сертификата. Выглядит это так:
Далее: Install Certificate > Current User > Trusted User Sertificate > Local Computer:
#4 Копируем файл конфигурации апача
C:\OpenServer\userdata\config\Apache_2.4-PHP_7.2-7.3-x64_vhost.conf в корневую папку сайта (туда где лежит wp-config.php ).
#5 Изменяем скопированный файл конфигурации
Apache_2.4-PHP_7.2-7.3-x64_vhost.conf — поправляем в нем пути до созданных файлов сертификатов.
Должен получится примерно такой код файла:
DocumentRoot "%hostdir%" ServerName "%host%" ServerAlias "%host%" %aliases% ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/" DocumentRoot "%hostdir%" ServerName "%host%" ServerAlias "%host%" %aliases% ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/" SSLEngine on SSLCertificateFile "%sprogdir%\userdata\config\cert_files\DOM_KEY\DOM_KEY-server.crt" SSLCertificateKeyFile "%sprogdir%\userdata\config\cert_files\DOM_KEY\DOM_KEY-server.key"
#6 Готово!
Перезагружаем OpenServer и возможно браузер.
Установить SSL сертификат на OpenServer
Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Имеется сайт на OpenServer(Apache 2.4 & PHP 5.6 указано в Настройках.).
Сайт на данный момент не имеет SSL. Пытался установить самописные, пытался установить cloudflare SSL, постоянно какие-то проблемы с тем, что что-либо не работает или еще чего.
С самописным — на самом сервере всё ок отображает, заходишь с другого пк — соединение не защищено.
Из доступа — имеется Выделенный сервер(IP:login:pass), на котором Openserver и сайт. Необходимо самыми дешевыми способами(в идеале тот же cloudflare), установить SSL. Требуется корректная работа SSL во всех браузерах.
Установка ssl сертификата на OpenServer
Привет народ! Что-то я так и не нашёл как в Open Server можно подключить и настроить локальный ssl сертификат. Мануал почитал, там про это вообще не слово не встретил. По этому вопрос, как установить и настроить ssl сертификат на Open Servere, что бы локальный адрес сайта был не http://localsite.ru, а https://localsite.ru
Отслеживать
задан 19 янв 2018 в 5:33
Сергей Призма Сергей Призма
23 1 1 золотой знак 1 1 серебряный знак 6 6 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Источник
Скрипт для генерации сертификата (сохранить как .bat и выполнить с правами администратора):
@echo OFF setlocal set OPENSSL_CONF=C:\openserver\modules\http\Apache-2.4\conf\openssl.cnf //заменить по необходимости set PATH=%PATH%;C:\openserver\modules\http\Apache-2.4\bin //заменить по необходимости set dname=mydomain //заменить по необходимости set days=730 set key_bits=2048 set root_certs_path=C:\openserver\userdata\config\cert_files //заменить по необходимости 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 echo DNS.2 = %dname%.ospanel.io >> %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% //заменить по необходимости rem Для создания сертификата, подписанного доверенным сертификатом openssl x509 -sha256 -req -days %days% -in %dname%.csr -extfile %dname%.cnf -extensions trust_cert -CA %root_certs_path%\rootCA.crt -CAkey %root_certs_path%\rootCA.key -out %dname%.crt del %dname%.csr del %dname%.cnf pause
Копируете ключ и сертификат в userdata\config\cert_files . Проверить правильность пути к сертификатам и ключам в соответственных конфигах apache (версии, которую вы используете, в вышеприведенном примере это 2.4) в строках, наподобие
ssl_certificate "C:/openserver/userdata/config/cert_files/mydomain.crt"; ssl_certificate_key "C:/openserver/userdata/config/cert_files/mydomain.key";
Отслеживать
ответ дан 22 янв 2018 в 11:36
Tarasovych Tarasovych
527 1 1 золотой знак 8 8 серебряных знаков 25 25 бронзовых знаков
Я пробовал так сделать. Но к сожалению не заработало. Пришлось переустановить OS. Скорее всего, что-то сделал не правильно