Страница 2 из 3

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 06 апр 2020, 01:34
zagin
PhpStorm писал(а): 13 июн 2019, 12:11 модуль: Apache_2.4-PHP_7.2-7.3-x64
тестовый домен (вместо него можно использовать тот, который нужен): test.osp
сервер установлен на диск C: в папку OSPanel (если у Вас другой путь, то соответствующие пути изменить)

В любом месте в одной и той же папке (назовите папку как хотите) на жёстком диске создаём 2 файла: start.bat и config.txt.

Содержимое start.bat
@echo off
set OPENSSL_CONF=C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\conf\openssl.cnf
C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\bin\openssl req -x509 -sha256 -newkey rsa:2048 -nodes -days 5475 -keyout rootCA.key -out rootCA.crt -subj "/CN=OSPanel/"
C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\bin\openssl req -newkey rsa:2048 -nodes -days 5475 -keyout server.key -out server.csr -subj "/CN=PhpStorm/"
C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\bin\openssl x509 -req -sha256 -days 5475 -in server.csr -extfile config.txt -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt

Содержимое config.txt
nsComment = "OSPanel 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

Запускаем start.bat, сертификат генерируется моментально.

В результате в папке с этими двумя файлами появляются 6 файлов нашего сертификата, вырезаем их.

В папке domains создаём папку test.osp, в папке test.osp создаём папку ssl, в неё вставляем 6 файлов сертификата.

Запускаем файл rootCA, далее: Установить сертификат -> Текущий пользователь -> Поместить сертификат в следующее хранилище -> Обзор -> Доверенные коренные центры сертификации.

Если браузер был запущен, то закрыть браузер.

Помещаем в папку test.osp файл Apache_2.4-PHP_7.2-7.3-x64_vhost.conf, а именно копируем его из папки userdata\config, открываем в папке test.osp файл Apache_2.4-PHP_7.2-7.3-x64_vhost.conf и вносим изменения, следующие 2 строки:

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

меняем на

SSLCertificateFile "%sprogdir%/domains/%host%/ssl/server.crt"
SSLCertificateKeyFile "%sprogdir%/domains/%host%/ssl/server.key"

В панели управления OSPanel в меню Алиасы указываем исходный домен www.test.osp и конечный домен test.osp: Добавить -> Сохранить (сервер перезапустится).

В папке test.osp создаём файл .htaccess и сохраняем туда следующее содержимое

RewriteEngine On
RewriteCond %{HTTPS}_%{HTTP_HOST} ^(?|off_(?:www\.)?(.*)|on_www\.(.*)) [NC]
RewriteRule .* https://%1/$0 [R=301,L]

Запускаем сайт test.osp.
А как добавить готовый сертификат?

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 06 апр 2020, 08:21
PhpStorm
zagin писал(а): 06 апр 2020, 01:34
PhpStorm писал(а): 13 июн 2019, 12:11 модуль: Apache_2.4-PHP_7.2-7.3-x64
тестовый домен (вместо него можно использовать тот, который нужен): test.osp
сервер установлен на диск C: в папку OSPanel (если у Вас другой путь, то соответствующие пути изменить)

В любом месте в одной и той же папке (назовите папку как хотите) на жёстком диске создаём 2 файла: start.bat и config.txt.

Содержимое start.bat
@echo off
set OPENSSL_CONF=C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\conf\openssl.cnf
C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\bin\openssl req -x509 -sha256 -newkey rsa:2048 -nodes -days 5475 -keyout rootCA.key -out rootCA.crt -subj "/CN=OSPanel/"
C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\bin\openssl req -newkey rsa:2048 -nodes -days 5475 -keyout server.key -out server.csr -subj "/CN=PhpStorm/"
C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\bin\openssl x509 -req -sha256 -days 5475 -in server.csr -extfile config.txt -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt

Содержимое config.txt
nsComment = "OSPanel 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

Запускаем start.bat, сертификат генерируется моментально.

В результате в папке с этими двумя файлами появляются 6 файлов нашего сертификата, вырезаем их.

В папке domains создаём папку test.osp, в папке test.osp создаём папку ssl, в неё вставляем 6 файлов сертификата.

Запускаем файл rootCA, далее: Установить сертификат -> Текущий пользователь -> Поместить сертификат в следующее хранилище -> Обзор -> Доверенные коренные центры сертификации.

Если браузер был запущен, то закрыть браузер.

Помещаем в папку test.osp файл Apache_2.4-PHP_7.2-7.3-x64_vhost.conf, а именно копируем его из папки userdata\config, открываем в папке test.osp файл Apache_2.4-PHP_7.2-7.3-x64_vhost.conf и вносим изменения, следующие 2 строки:

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

меняем на

SSLCertificateFile "%sprogdir%/domains/%host%/ssl/server.crt"
SSLCertificateKeyFile "%sprogdir%/domains/%host%/ssl/server.key"

В панели управления OSPanel в меню Алиасы указываем исходный домен www.test.osp и конечный домен test.osp: Добавить -> Сохранить (сервер перезапустится).

В папке test.osp создаём файл .htaccess и сохраняем туда следующее содержимое

RewriteEngine On
RewriteCond %{HTTPS}_%{HTTP_HOST} ^(?|off_(?:www\.)?(.*)|on_www\.(.*)) [NC]
RewriteRule .* https://%1/$0 [R=301,L]

Запускаем сайт test.osp.
А как добавить готовый сертификат?
Для локального домена?
Точно так же.

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 11 апр 2020, 21:42
StepanB
2020-04-11 21:09:06 --------------------------------------------
2020-04-11 21:09:06 Начало процедуры запуска сервера
2020-04-11 21:09:06 Обновление Hosts файла
2020-04-11 21:09:06 Обновление конфигурации MariaDB-10.3-x64
2020-04-11 21:09:06 Обновление конфигурации Sendmail
2020-04-11 21:09:06 Обновление конфигурации PHP_7.1-x64
2020-04-11 21:09:06 Обновление конфигурации PHPMyAdmin
2020-04-11 21:09:06 Обновление конфигурации Apache_2.4-PHP_7.0-7.1-x64
2020-04-11 21:09:06 Запуск MariaDB-10.3-x64
2020-04-11 21:09:06 Запуск Apache_2.4-PHP_7.0-7.1-x64
2020-04-11 21:09:06 Проверка состояния сервера
2020-04-11 21:09:39 Не удалось запустить Apache_2.4-PHP_7.0-7.1-x64
2020-04-11 21:09:39 Не удалось запустить MariaDB-10.3-x64
2020-04-11 21:09:39 Сбой запуска!
2020-04-11 21:09:39 --------------------------------------------
2020-04-11 21:09:39 Начало процедуры остановки сервера
2020-04-11 21:09:39 Остановка системных модулей
2020-04-11 21:09:40 Отключение виртуального диска
2020-04-11 21:09:40 Сервер успешно остановлен за 0,187 секунд!

Непонятно что делать?

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 28 окт 2020, 10:39
vit
PhpStorm писал(а): 13 июн 2019, 12:11
Запускаем start.bat, сертификат генерируется моментально.

В результате в папке с этими двумя файлами появляются 6 файлов нашего сертификата, вырезаем их.
Все сделал как описано выше, при клике по батнику не появляются 6 файлов в папке. От администратора тоже пробовал запустить.
https://i.imgur.com/wwY1S6x.png

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 09 ноя 2020, 03:40
jinrox
Russo
как мне направить http на https при доступе к www. и mydomain.com он направляет на https, но когда он получает доступ к http://mydomain.com, он не направляет


я использую apache с nginx

Inglês
how do I route http to https when accessing www. and mydomain.com directs to https, but when you access http://mydomain.com it does not direct


i'm using apache with nginx

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 15 июл 2021, 10:07
pegas1981
Как установить уже существующий неограниченный определённым доменом сертификат (есть файлы domain.key и domain.crt) на весь сервер?
1. На сервере переместил все файлы из папки %sprogdir%/userdata/config/cert_files/ в новую подпапку "!", а в эту папку скопировал действительные файлы сертификата server.crt и server.key на свои.
2. Установил сертификат для "Локальный компьютер" в хранилище "Доверенные коренные центры сертификации"
3. В файле конфигурации виртуальных серверов Apache-2.4_vhost.conf ничего не трогал, т.к. по идее всё настроено верно

<IfModule ssl_module>
<VirtualHost *:%httpsport%>

DocumentRoot "%hostdir%"
ServerName "%host%"
ServerAlias "%host%" %aliases%
ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/"

SSLEngine on
#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"

SetEnvIf User-Agent ".*MSIE [1-5].*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0

SetEnvIf User-Agent ".*MSIE [6-9].*" \
ssl-unclean-shutdown

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>

<Directory "%hostdir%/cgi-bin/">
SSLOptions +StdEnvVars
</Directory>

</VirtualHost>
4. Рестарт браузера, рестарт веб-сервера.
5. Захожу на один из доменов https://alias.domain.ru
Этот сайт не может обеспечить безопасное соединение
Сайт alias.domain.ru отправил недействительный ответ.
Выполните диагностику сети в Windows.
ERR_SSL_PROTOCOL_ERROR

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 20 июл 2021, 23:37
Domovoi
PhpStorm писал(а): 13 июн 2019, 12:11 модуль: Apache_2.4-PHP_7.2-7.3-x64
тестовый домен (вместо него можно использовать тот, который нужен): test.osp
сервер установлен на диск C: в папку OSPanel (если у Вас другой путь, то соответствующие пути изменить)

В любом месте в одной и той же папке (назовите папку как хотите) на жёстком диске создаём 2 файла: start.bat и config.txt.

Содержимое start.bat
@echo off
set OPENSSL_CONF=C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\conf\openssl.cnf
C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\bin\openssl req -x509 -sha256 -newkey rsa:2048 -nodes -days 5475 -keyout rootCA.key -out rootCA.crt -subj "/CN=OSPanel/"
C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\bin\openssl req -newkey rsa:2048 -nodes -days 5475 -keyout server.key -out server.csr -subj "/CN=PhpStorm/"
C:\OSPanel\modules\http\Apache_2.4-PHP_7.2-7.3-x64\bin\openssl x509 -req -sha256 -days 5475 -in server.csr -extfile config.txt -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt

Содержимое config.txt
nsComment = "OSPanel 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

Запускаем start.bat, сертификат генерируется моментально.

В результате в папке с этими двумя файлами появляются 6 файлов нашего сертификата, вырезаем их.

В папке domains создаём папку test.osp, в папке test.osp создаём папку ssl, в неё вставляем 6 файлов сертификата.

Запускаем файл rootCA, далее: Установить сертификат -> Текущий пользователь -> Поместить сертификат в следующее хранилище -> Обзор -> Доверенные коренные центры сертификации.

Если браузер был запущен, то закрыть браузер.

Помещаем в папку test.osp файл Apache_2.4-PHP_7.2-7.3-x64_vhost.conf, а именно копируем его из папки userdata\config, открываем в папке test.osp файл Apache_2.4-PHP_7.2-7.3-x64_vhost.conf и вносим изменения, следующие 2 строки:

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

меняем на

SSLCertificateFile "%sprogdir%/domains/%host%/ssl/server.crt"
SSLCertificateKeyFile "%sprogdir%/domains/%host%/ssl/server.key"

В панели управления OSPanel в меню Алиасы указываем исходный домен www.test.osp и конечный домен test.osp: Добавить -> Сохранить (сервер перезапустится).

В папке test.osp создаём файл .htaccess и сохраняем туда следующее содержимое

RewriteEngine On
RewriteCond %{HTTPS}_%{HTTP_HOST} ^(?|off_(?:www\.)?(.*)|on_www\.(.*)) [NC]
RewriteRule .* https://%1/$0 [R=301,L]

Запускаем сайт test.osp.
Добрый день, все делал по инструкции и с других сайтов пробовал в итоге прихожу к одному, что на компе где установлен Open Server все отлично, пишет что сертификат действителен, но вот если зайти с другого компа на сайт, то пишет, что сертификат не действителен. Что делать не пойму :cry:

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 21 июл 2021, 00:42
SagePointer
Domovoi писал(а): 20 июл 2021, 23:37но вот если зайти с другого компа на сайт, то пишет, что сертификат не действителен
Чтобы на других компьютерах сертификаты принимались, нужно нормальные заказывать, а не генерировать самоподписанные, годящиеся только для разработки и тестирования. Через Let's Encrypt, например, можно получать их бесплатно.

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 21 июл 2021, 01:30
Domovoi
SagePointer писал(а): 21 июл 2021, 00:42
Domovoi писал(а): 20 июл 2021, 23:37но вот если зайти с другого компа на сайт, то пишет, что сертификат не действителен
Чтобы на других компьютерах сертификаты принимались, нужно нормальные заказывать, а не генерировать самоподписанные, годящиеся только для разработки и тестирования. Через Let's Encrypt, например, можно получать их бесплатно.
Огромное спасибо, все сделал, работает :)

Re: SSL сертификат с поддержкой WWW для РАЗНЫХ ЛОКАЛЬНЫХ доменов

Добавлено: 23 июл 2021, 23:42
SvGA
могу посоветовать решение, которое не смогли решить создатели OpenServer-а(!)
я бы на и месте в конфиг апача (арасhe_версия_vhost.conf сразу писал такие строки:
SSLCertificateFile "%ssitedir%\%host%\SSL_cert\server.crt"
SSLCertificateKeyFile "%ssitedir%\%host%\SSL_cert\server.key"

Это сразу бы решило все проблемы! Но это самое правильное решение!

но самое правильное выполнить скрипт от имени администратора и тогда сертификаты встанут туда куда нужно, и файлы скопируются нужные" - просто следованию описанию: https://web-muchacha.ddns.net/?pid=SSL_open-server

ps. еще бы решили перезапуск командой из CMD - ваще было бы круто! я бы в скрипт такую команду добавил бы...