Не получается установить сертификат OpenServer
Появилась задача установить SSL сертификат на Open Server. Нашел инструкцию, создал .bat файл для создания сертификата:
: Version 1.0
: Author unknown (improved by Kama - wp-kama.ru)
@echo off
: parameters
set DOM=opsip.***.ru
set DOM_KEY=opsip
set APACHE_VER=Apache_2.2-PHP_5.2-5.4
: 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 (звездочки сам уже сейчас дописал) Сертификат сгенерировался. Установил его в Windows, отредактировал конфигурационный файл Apache:
<VirtualHost *:%httpport%>
DocumentRoot "%hostdir%"
ServerName "%host%"
ServerAlias "%host%" %aliases%
ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/"
</VirtualHost>
<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/opsip/opsip-server.crt"
SSLCertificateKeyFile "%sprogdir%/userdata/config/cert_files/opsip/opsip-server.key"
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>
</IfModule> Прописал пути. Скопировал даже в корень домена данный файл, но что-то не получается. На что грешу. Сертификат генерировал по алиасу - может проблема в этом?
Понято, братан. В общем, дело такое: ты тут хочешь настроить SSL на своем Open Server, да? Ну, давай по порядку разбираться.
Во-первых, проверь, что все пути к файлам SSL в конфиге Apache верные. Должны быть `opsip-server.crt` и `opsip-server.key` в нужных местах.
Во-вторых, чекни логи ошибок Apache, там могут быть подсказки. Обычно они в папке `logs` твоего Apache.
Ну, и по дороге, можешь закомментить пару строк в конфиге:
- Эта: `SetEnvIf User-Agent ".*MSIE [6-9].*" ssl-unclean-shutdown`
- И вот эта: `#Header always set Strict-Transport-Security "max-age=94608000"`
Да и порт 443 убедись, что открыт и не заблокирован каким-то файрволлом.
Если всё ещё не въезжает, скажи, какая ошибка вылетает, может, сумеем разобраться.
Хорошо, сейчас попробую сначала пересоздать сам сертификат по названию папки, а не алиаса - если результата не будет - воспользуюсь рекомендациями. Заранее - благодарю за ответ!
Сертификат видит, - если переименовать папку с ним, то сервер не запускается - падает.
короче, работет, но только на том компе, на котором запущен севрер. По локалке - у других юзеров - не робит. Чо делать?