使用 Apache 2.4.10 和 Debian 7 时出现“无效命令‘SSLOpenSSLConfCmd’”?

使用 Apache 2.4.10 和 Debian 7 时出现“无效命令‘SSLOpenSSLConfCmd’”?

为了使用更强的 DH 密钥,我已将 Debian 7 (Wheezy) 上的 Apache 2.2 升级到 Apache 2.4.10。我还将 openssl 升级到 OpenSSL 1.0.1k。

我一直在尝试将以下命令添加到我的 Apache2 配置中:

SSLOpenSSLConfCmd DHParameters "/etc/ssl/private/dhparams_4096.pem"

但每次我将其添加到配置文件中时都会收到以下错误:

AH00526:/etc/apache2/mods-enabled/ssl.conf 第 83 行语法错误:
无效命令“SSLOpenSSLConfCmd”,可能是拼写错误或由服务器配置中未包含的模块定义,操作“configtest”失败。

从我在网上看到的情况来看,使用 2.4.8 之前的 Apache 版本时会出现此错误。我使用的是 2.4.10,因此可以排除此问题。有人知道是什么原因导致此问题吗?

编辑:
我认为问题可能出在我使用的 OpenSSL 版本上,因此我从“Stretch”存储库安装了 OpenSSL 1.0.2。它安装正确,我重新启动了 Apache,它似乎可以正常工作。但是,当我添加上述注释时,我得到了同样的错误。

编辑2:
我研究了phpinfo();输出并在 OpenSSL 部分下注意到了这一点:

OpenSSL Library Version     OpenSSL 1.0.1k 8 Jan 2015
OpenSSL Header Version      OpenSSL 1.0.1k 8 Jan 2015 

我回到服务器并运行openssl version,结果显示如下输出:

OpenSSL 1.0.2f  28 Jan 2016

因此,无论出于什么原因,Apache 都无法识别系统上较新版本的 OpenSSL。我已多次重新启动 Apache,服务器也已重新启动,但 phpinfo() 输出仍然相同。

答案1

修复。

由于我仍然使用 stretch repo,因此我发出了以下命令:

apt-get install libapache2-mod-php5

这基本上升级了 PHP,这样做解决了我使用旧版本时遇到的 OpenSSL 问题,并且现在也修复了 Apache 的“SSLOpenSSLConfCmd”问题。

相关内容