安装 apache2 时出现 SSL 错误

安装 apache2 时出现 SSL 错误

apache2安装localhost时出现以下错误消息

service apache2 reload
/usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted)
Syntax error on line 52 of /etc/apache2/sites-enabled/default-ssl:
SSLCertificateKeyFile: file '/etc/ssl/private/ssl-cert-snakeoil.key' does not exist or is empty
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

如何解决这个问题?

答案1

您的问题有两个答案。

第一个是直接解决日志中错误的简短答案:

file '/etc/ssl/private/ssl-cert-snakeoil.key' does not exist or is empty

Apache 停止运行是因为缺少 SSL 证书。只需sites-enabled使用从文件夹中删除默认 SSL 配置sudo rm /etc/apache2/sites-enabled/default-ssl,Apache 即可顺利启动。要在调整配置后重新启用 SSL 站点,您可以运行sudo ln -s /etc/apache2/sites-available/default-ssl etc/apache2/sites-enabled/default-ssl

第二个答案是正确的答案,即仔细查看 Apache 文档以确定您的配置不正确的原因。由于错误日志中的值看起来像是新安装的 Apache 的默认值,因此我包含了第一个答案,但在完成上述操作后,您应该花一些时间阅读文档。您将学到很多东西,并会发现为什么没有snakeoil.pem文件以及 snakeoil 证书意味着什么。

您可以在这里找到常规文档:http://httpd.apache.org/docs/2.2/

(或者http://httpd.apache.org/docs/2.4/视情况而定)

您可以在这里找到常规配置文档:http://httpd.apache.org/docs/2.2/mod/quickreference.html

您可以mod_ssl在这里找到文档:http://httpd.apache.org/docs/2.2/ssl/

答案2

看起来你忘记了 sudo:

sudo service apache2 reload

答案3

您需要为您的服务器创建一个 SSL 证书,并将SSLCertificateFile(.crt 文件)和SSLCertificateKeyFile(.key 文件)链接到您的证书和证书密钥。

这是在 Apache 启动时读取的配置文件中完成的。通常它位于/usr/local/apache2/conf/extra/httpd-ssl.conf。就你的情况而言,它位于/etc/ssl/private/sites-enabled/default-ssl

要创建自签名证书,请按照以下步骤操作指示

如果您已经购买了证书,则只需找到它并复制路径即可。

相关内容