我将我的 Debian 从 Lenny 升级到 Squeeze。大错。
现在我得到:
[Tue Feb 08 16:34:57 2011] [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)
Run Code Online (Sandbox Code Playgroud)
到处都是/var/log/apache2/error.log
。
怎么修?翻阅一堆乱七八糟的论坛,很容易看出 Apache 在 2.2.13 前后改变了它读取配置的方式。伟大的。但对于我或数百万其他 Web 管理员来说,这不是很好,他们现在拥有的 Web 服务器根本无法启动,并且错误消息没有说明问题或如何修复。
其他人真的解决了这个问题吗?我以前使用 SSL 完美运行虚拟服务器(实际上已经好多年了)。
jon*_*n_d 10
此问题是由 apache 2.2.12 更改以支持SNI 引起的。
您可以/usr/share/doc/apache2.2-common/NEWS.Debian.gz
在服务器上的文件中找到解决问题的所有详细信息:
apache2 (2.2.13-2) 不稳定;紧迫性=高
2.2.12 中添加的对 TLS 服务器名称指示的新支持导致 Apache 对涉及基于名称的 SSL 虚拟主机的某些错误配置更加严格。这可能会导致 Apache 拒绝以记录的错误消息启动:
服务器应该是 SSL-aware 但没有配置证书 [提示:SSLCertificateFile]
在 2.2.11 之前,Apache 接受必要的 SSL 配置语句包含在第一个(默认)块中但不包含在后续块中的配置。从 2.2.12 开始,与 SSL 一起使用的每个 VirtualHost 块都必须包含 SSLEngine、SSLCertificateFile 和 SSLCertificateKeyFile 指令(SSLCertificateKeyFile 在某些情况下是可选的)。
当遇到上述问题时,命令的输出
Run Code Online (Sandbox Code Playgroud)egrep -ir '^[^#]*(sslcertificate|sslengine|virtualhost)' \ /etc/apache2/*conf* /etc/apache2/*enabled
可能有助于确定需要更改哪些 VirtualHost 部分。
此外,以前意外工作的构造,如
Run Code Online (Sandbox Code Playgroud)<VirtualHost *:80 *:443>
其中一个虚拟主机定义用于非 ssl 和 ssl 虚拟主机不再工作。你可以达到类似的效果
Run Code Online (Sandbox Code Playgroud)<VirtualHost *:80> Include /.../vhost.include </VirtualHost> <VirtualHost *:443> SSLEngine on SSLCertificateFile ... Include /.../vhost.include </VirtualHost>
-- Stefan Fritsch 2009 年 9 月 16 日星期三 20:14:59 +0200
许多软件包的 NEWS.Debian 文件中提供了软件包升级的重要信息。建议安装软件包apt-listchanges
以在每次升级时查看此文件中的更改。
归档时间: |
|
查看次数: |
9714 次 |
最近记录: |