我买了一个证书。在校验域。他们给了我两个文件一个.crt和一个..ca包和.key。我将它们移到"/etc/ssl/g/“。我使用"a2enmod ssl“启用SSL,并使用"sudo apache2 apache2 restart”重新启动apache,在此之前没有出现错误。
然后我编辑了default-ssl.conf:
<VirtualHost *:443>
ServerName mrgrimod.de
DocumentRoot "/var/www/html"
SSLEngine on
SSLCertificateFile /etc/ssl/g/g.crt
SSlCertificateKeyFile /etc/ssl/g/g.key
</VirtualHost>然后,我尝试使用"sudo服务apache2重新启动“重新启动apache,但是它未能重新启动并溢出了该错误:Job for apache2.service failed. See 'systemctl status apache2.service' and 'journalctl -xn' for details.。
apache错误日志包含以下几行:
Fri Mar 30 17:03:50.143429 2018] [ssl:error] [pid 10598:tid 3074262784] AH02579: Init: Private key not found
[Fri Mar 30 17:03:50.143530 2018] [ssl:error] [pid 10598:tid 3074262784] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Fri Mar 30 17:03:50.143557 2018] [ssl:error] [pid 10598:tid 3074262784] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
[Fri Mar 30 17:03:50.143578 2018] [ssl:error] [pid 10598:tid 3074262784] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Fri Mar 30 17:03:50.143599 2018] [ssl:error] [pid 10598:tid 3074262784] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=RSA)
[Fri Mar 30 17:03:50.143620 2018] [ssl:error] [pid 10598:tid 3074262784] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Fri Mar 30 17:03:50.143640 2018] [ssl:error] [pid 10598:tid 3074262784] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Fri Mar 30 17:03:50.143660 2018] [ssl:error] [pid 10598:tid 3074262784] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO)
[Fri Mar 30 17:03:50.143674 2018] [ssl:emerg] [pid 10598:tid 3074262784] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more information
[Fri Mar 30 17:03:50.143704 2018] [ssl:emerg] [pid 10598:tid 3074262784] AH02564: Failed to configure encrypted (?) private key server1.server1.de:443:0, check /etc/ssl/ssl.key/server.key发布于 2018-03-31 09:14:06
检查域给了我一个无效的私钥。问题解决了。
发布于 2018-03-30 18:14:29
您可以使用命令apachectl -t在重新启动apache服务之前检查语法错误。如果没有发现错误,该命令应该输出Syntax OK。
您应该包括更多关于您的.conf文件的详细信息,然后我们才能决定错误是什么。
无论如何,这是一个启用SSL支持的配置示例:
<VirtualHost *:443>
ServerName example.com
DocumentRoot "/var/www/html"
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/mycert.pem
SSlCertificateKeyFile /etc/httpd/ssl/mycert.pem
SSLProtocol ALL -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite HIGH:!aNULL:!MD5
</VirtualHost>要启用SSL,配置文件必须至少包括以下选项:
打开SSLEngine :打开对SSL的支持。
SSLCertificateFile:提供给您的签名证书的位置。
SSlCertificateKeyFile:在系统上生成的密钥文件。
此外,许多浏览器需要使用一种方法来证明请求对您的站点的合理性,就是使用配置选项-the SSLCertificateChainFile包含名为bundle的链文件
我建议参考以下内容: Apache to:https://httpd.apache.org/docs/2.4/en/ssl/ssl_howto.html
发布于 2018-03-30 20:32:06
要验证您的证书,您可以使用以下命令并检查证书和密钥文件的模数的结果,它必须相同。
openssl x509 -noout -modulus -in /etc/ssl/g/g.crt
openssl rsa -noout -modulus -in /etc/ssl/g/g.key
此外,您还可以检查目录/etc/ssl/g/上的文件权限,只是为了测试,您可以选择chmod -R 777 /etc/ssl/g内容并重新启动apache服务。
https://serverfault.com/questions/905364
复制相似问题