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を使用しています。
これらの手順に従って、( http://www.akadia.com/services/ssh_test_certificate.html )から私のssl証明書を生成しました
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構成ファイル用に次の設定を行います。
etc/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
etc/Apache2/extra/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
etc/Apache2/extra/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 config testを再起動して実行すると、問題がないように見えます。
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"
お役に立てば幸いです。
MacOS High Sierraバージョン10.13.6にアップグレードした直後にこの問題に遭遇しました。 SSLを使用した仮想ホストは、アップグレード前は問題なく動作していました。次に、今日、Apache Webサーバーを起動しようとすると、次のエラーが発生しました。
[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にアップデートした後、同じエラーが発生しました。 SSLCertificateFile
とSSLCertificateKeyFile
は<VirtualHost>
ブロック内にある必要がありますが、以前はそうでなかったようです。
私も同じ問題を抱えていました。私の場合、他の人の一部が述べたように、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」エントリが証明書の名前と一致することを確認する必要がありました。
これはOPには役立たないが、SSLのセットアップ後にこのエラーを検索する私のような人に役立つかもしれない
Apache 2.4.33にアップデートした後、この問題に遭遇しました。
そうしなければならなかった <VirtualHost></VirtualHost>
httpd-vhosts.confファイルのブロック。私はこれを削除しました:
<VirtualHost *:443>
ServerName "<your server name>"
DocumentRoot "<your path>"
</VirtualHost>
apacheを再起動すると動作しました。
新しい訪問者を助けることを期待して。
ログファイルに同じエラー行がありました。
私の間違いは含めることでした
SSLEngine on
VirtualHost
ブロックの外、.conf
ファイル、SSLProtocol
、SSLCipherSuite
、SSLHonorCipherOrder
...の一般的な値.