Перейти к содержимому

Openserver ssl сертификат как установить

  • автор:

Установка 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 .

ВАЖНО! На некоторых версиях windows Файл надо запускать с правами админа! Если в контекстном меню нет пункта «Открыть от админа», то открываем cmd/powerShell от админа и уже от туда запускаем файл сертификата. Выглядит это так:

Далее: Install Certificate > Current User > Trusted User Sertificate > Local Computer

Если нет local computer , то выбираем Enterprise .

#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 и возможно браузер.

Способ 2: альтернативный более простой и быстрый

#1 Устанавливаем утилиту mkcert

В официальном репозитории есть инструкции для разных систем, но так как мы хотим установить сертификаты для OpenServer, значит у нас — Windows. Для установки на Windows сначала понадобится установленный Chocolatey или Scoop. В зависимости от выбранного пакетного менеджера (я использую Chokolatey) запускаем в терминале одну из следующих команд:

#Chocolatey choco install mkcert
#Scoop scoop bucket add extras scoop install mkcert

После установки можно проверить успешность, активировав команду mkcert

#2 Создаём сертификаты для доменов
  1. Переходим в директорию C:\OSPanel\userdata\config\cert_files (у вас путь может отличаться) и запускаем из неё терминал.
  2. Запускаем команду mkcert %имядомена% . Через пробел можно указать все домены, которые вам нужны, например mkcert example.local wpsite.develop test.local myblog.localhost
  3. В директории появятся сгенерированные файлы сертификатов
#3 Вносим изменения в конфигурацию сервера
  1. Переходим на уровень выше в каталог C:\OSPanel\userdata\config и открываем в редакторе файл нужного (активного у вас) модуля Apache %версия модуля%_vhost.conf в моём случае, например, это Apache_2.4-PHP_8.0-8.1_vhost.conf
  2. Находим строку, начинающуюся с SSLEngine on
SSLEngine on #Protocols http/1.1 #Header always set Strict-Transport-Security "max-age=94608000" #SSLCACertificateFile "" #SSLCertificateChainFile "" SSLCertificateFile "%sprogdir%/userdata/config/cert_files/server.crt" SSLCertificateKeyFile "%sprogdir%/userdata/config/cert_files/server.key"

и модифицируем её таким образом

 SSLEngine on #Protocols http/1.1 #Header always set Strict-Transport-Security "max-age=94608000" #SSLCACertificateFile "" #SSLCertificateChainFile "" SSLCertificateFile "%sprogdir%/userdata/config/cert_files/%host%.pem" SSLCertificateKeyFile "%sprogdir%/userdata/config/cert_files/%host%-key.pem" 

Установка 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
537 1 1 золотой знак 8 8 серебряных знаков 26 26 бронзовых знаков

Я пробовал так сделать. Но к сожалению не заработало. Пришлось переустановить OS. Скорее всего, что-то сделал не правильно

Форум

Выдача и установка SSL сертификата с поддержкой www

Советы и рекомендации

  • 1
  • 2
  • След.

PhpStorm Сообщения: 48 Зарегистрирован: 06 авг 2017, 20:14

Выдача и установка SSL сертификата с поддержкой www

Я делал на модуле Apache-PHP-7-x64 так:

1. Переходим в OSPanel по адресу modules\http\Apache-PHP-7-x64\conf и редактируем исполняемый файл generate.bat

@echo off
set OPENSSL_CONF=%~dp0..\conf\openssl.cnf
..\bin\openssl req -x509 -sha256 -newkey rsa:2048 -nodes -days 5475 -keyout rootCA.key -out rootCA.crt -subj «/CN=OSPanel/»
..\bin\openssl req -newkey rsa:2048 -nodes -days 5475 -keyout server.key -out server.csr -subj «/CN=PhpStorm/»
..\bin\openssl x509 -req -sha256 -days 5475 -in server.csr -extfile v3.txt -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt
..\bin\openssl dhparam -out dhparam.pem 2048

2. В этом же каталоге создаём новый текстовый файл с именем v3 (test.osp — это мой домен для примера, Вы можете прописать свой)

nsComment = «Open Server Panel Generated Certificate»
basicConstraints = CA:false
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
keyUsage = nonRepudiation, digitalSignature, keyEncipherment

subjectAltName = @alt_names
[alt_names]
DNS.1 = test.osp
DNS.2 = www.test.osp

3. В панели управления OSPanel открываем консоль и вводим

4. Запускаем батник командой

5. Ждём. И пока генерится сертификат, то идём в OSPanel по адресу userdata\config, копируем оттуда Apache-PHP-7-x64_vhost.conf и помещаем в корень нашей папки-домена.

6. Смотрим консоль, если генерация закончилась, то идём в OSPanel по адресу modules\http\Apache-PHP-7-x64\conf и запускаем файл rootCA

— Установить сертификат
— Текущий пользователь
— Поместить сертификат в следующее хранилище — Обзор — Доверенные коренные центры сертификации

7. (Не знаю, нужно ли это делать, но я делал) Теперь в OSPanel по адресу modules\http\Apache-PHP-7-x64\conf и запускаем файл server

— Установить сертификат
— Текущий пользователь
— Поместить сертификат в следующее хранилище — Обзор — Личные

8. В панели управления OSPanel в меню Алисы указываем исходный домен www.test.osp и конечный домен test.osp, жмём добавить и сохраняем.

9. В корне сайта создаём файл index.php

10. В корне сайт создаём файл .htaccess

RewriteCond % ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

10. Обязательно (. ) закрыть, если открыт, браузер и запустить сайт test.osp

Радуемся волшебству, аве мне

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://czena.narkolog-na-dom-voronezh-11.ru/