我正在创build一个testing服务器,这个服务器很容易受到心跳的影响。
我的服务器在FreeBSD VM上运行Apache 2.4。 默认情况下,FreeBSD似乎默认安装了OpenSSL 0.9.8。 我试图从端口卸载OpenSSL,但由于我没有通过端口安装(默认情况下来),我无法卸载它的方式。
然后我试图忽略它,并从源代码安装OpenSSL 1.0.1; 但是当我重新启动Apache服务器,并使用curl --head 127.0.0.1
检查站点时,显示“OpenSSL 0.9.8”。
然后我试图重新安装/重新configurationApache,但同样的testing产生“OpenSSL 0.9.8”。
所以,我试图像这样replace默认的OpenSSL:
– 通过端口安装更新的OpenSSL(试图replace默认版本)
– 卸载端口安装的OpenSSL(试图彻底清除默认的OpenSSL)
– 我的源代码安装了唯一一个,我认为这必须改变它
– testing仍然取得了“OpenSSL 0.9.8”(悲伤)
那为什么它仍然显示“OpenSSL 0.9.8”?
我也想改变网站使用OpenSSL 1.0.1,所以对此的build议将是有帮助的。
缺less的一步是,你必须对系统说你想从基本系统的端口使用OpenSSL :
从端口构buildOpenSSL :
创build/添加到/etc/make.conf
下面一行:
WITH_OPENSSL_PORT=yes
然后重新安装所有需要OpenSSL的其他模块( devel/apr1
, www/apache24
,…)
你可以检查apache24使用的OpenSSL库(实际上是apache24 mod_ssl模块):
# ldd /usr/local/libexec/apache24/mod_ssl.so |grep ssl /usr/local/libexec/apache24/mod_ssl.so: libssl.so.8 => /usr/local/lib/libssl.so.8 (0x801634000)
apache24 mod_ssl现在使用来自端口的OpenSSL库。
编译OpenSSL不会帮你太多。 您的Apache仍然与旧的OpenSSL链接。 您可以使用ldd
命令来validation。
您应该重新编译Apache或mod_ssl
以将其链接到新的OpenSSL。