Apache выдает следующие ошибки после попытки установить ssl-сертификаты:
[ssl:emerg] [pid 30907] AH02572: Failed to configure at least one certificate and key for localhost:443
[ssl:emerg] [pid 30907] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
[ssl:emerg] [pid 30907] AH02312: Fatal error initialising mod_ssl, exiting.
Я использовал MAC OS: Yosemite, PHP 5.5.20, Apache 2.4.9
и выполнили эти шаги, чтобы сгенерировать мой сертификат SSL из
(http://www.akadia.com/services/ssh_test_certificate.html)
cd /etc/apache2/
sudo mkdir certs
cd certs
sudo openssl genrsa -des3 -out server.key 1024
sudo openssl req -new -key server.key -out server.csr
Country Name (2 letter code) [GB]:US
State or Province Name (full name) [Berkshire]:California
Locality Name (eg, city) [Newbury]:LA
Organization Name (eg, company) [My Company Ltd]:Company
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:dev.test.local
Email Address []:[email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
sudo cp server.key server.key.org
sudo openssl rsa -in server.key.org -out server.key
sudo openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
Далее у меня есть следующие настройки для моих файлов конфигурации apache:
и т.д. / apache2 / httpd.conf:
LoadModule ssl_module libexec/apache2/mod_ssl.so
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
Include /private/etc/apache2/extra/httpd-ssl.conf
и т.д. / apache2 / дополнительные / HTTPD-ssl.conf:
Listen 443
SSLPassPhraseDialog builtin
<VirtualHost _default_:443>
SSLEngine on
Mutex sysvsem default # Added after seeing mutex issues for apache 2.4, http://stackoverflow.com/questions/13969272/apache-sslmutex-issue
и т.д. / apache2 / дополнительные / HTTPD-vhosts.conf:
<VirtualHost *:443>
ServerName dev.test.local
DocumentRoot "/Users/username/Sites/test/public"
<Directory "/Users/username/Sites/test/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/certs/server.crt
SSLCertificateKeyFile /etc/apache2/certs/server.key
</VirtualHost>
После перезапуска и запуска теста конфигурации Apache все выглядит так, будто проблем нет:
sudo apachectl restart
sudo apachectl configtest
[Tue Jan 06 13:56:01.480270 2015] [so:warn] [pid 31636] AH01574: module php5_module is already loaded, skipping
Syntax OK
Помощь очень ценится, и я рад предоставить больше информации, если это необходимо.
Я столкнулся с той же проблемой.
Теперь я решил это.
Вы включены
/private/etc/apache2/extra/httpd-ssl.conf
в httpd.conf.
Поэтому вам все еще нужно установить следующие ключи в ‘httpd-ssl.conf’
SSLCertificateFile "path to your crt"SSLCertificateKeyFile "path to your key"
Надеюсь, это полезно.
У меня были те же ошибки после обновления до Apache 2.4.33. Кажется, что SSLCertificateFile
а также SSLCertificateKeyFile
теперь должны быть внутри <VirtualHost>
блок, тогда как раньше они этого не сделали.
Я столкнулся с этим только сегодня после обновления до MacOS High Sierra версии 10.13.6.
Мои виртуальные хосты с SSL работали нормально до обновления.
Затем сегодня, когда я попытался запустить свой веб-сервер Apache, я получил эту ошибку:
[Fri Jul 20 10:51:06.021778 2018] [ssl:emerg] [pid 2236] AH02572: Failed to configure at least one certificate and key for work.localweb.com:80
[Fri Jul 20 10:51:06.022024 2018] [ssl:emerg] [pid 2236] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
[Fri Jul 20 10:51:06.022037 2018] [ssl:emerg] [pid 2236] AH02312: Fatal error initialising mod_ssl, exiting.
AH00016: Configuration Failed
Проверьте мою версию Apache, и теперь это 2.4.33.
Очевидно, в этой версии вам нужно будет поместить записи SSLCertificateFile и SSLCertificateKeyFile в сам виртуальный хост.
Итак, я скопировал записи из extra / httpd-ssl.conf и поместил их на каждый виртуальный хост SSL, который я настроил.
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName work.localweb.com
SSLCertificateFile "/private/etc/apache2/server.crt"SSLCertificateKeyFile "/private/etc/apache2/server.key"......
</VirtualHost>
Тогда запуск работает снова.
Я столкнулся с этой проблемой после обновления до Apache 2.4.33.
Мне пришлось <VirtualHost></VirtualHost>
блоки в моем файле httpd-vhosts.conf. Я удалил это:
<VirtualHost *:443>
ServerName "<your server name>"DocumentRoot "<your path>"</VirtualHost>
перезапустил apache и все заработало.
У меня тоже была такая же проблема. В моем случае я также просто включил extra / httpd-ssl.conf, как упоминали некоторые другие.
Как сказано выше, убедитесь, что у вас есть записи в этом файле для
SSLCertificateFile «/usr/local/etc/apache24/ssl.crt/mydomaincertificate.crt»
SSLCertificateKeyFile «/usr/local/etc/apache24/ssl.key/myprivatekey.key»
Хотя те же самые записи находятся в extra / httpd-vhosts.conf для моего основного домена.
Я также должен был убедиться, что в httpd.conf запись «ServerName» соответствует имени в сертификате.
Несмотря на то, что этот параметр не используется, он может быть полезен для тех, кто, как я, ищет эту ошибку после настройки SSL