系统有OpenSSL版本1.0.1e这是在CentOS 7回购中可用的,但是从那以后有很多CVE(2013)
Httpd是从源代码编译的
./configure --enable-so --enable-ssl --enable-cache-disk --enable-cache-socache --enable-deflate --with-mpm=prefork --enable-fpm --enable-cgi --with-ssl=/usr/local/ssl/include --enable-ssl-static-lib-deps --enable-mods-static=ssl
然而,即使重新启动服务器SSL版本显示:
curl --head http://localhost HTTP/1.1 301 Moved Permanently Date: Fri, 14 Jul 2017 04:46:26 GMT Server: Apache/2.4.25 (Unix) OpenSSL/1.0.1e-fips PHP/5.6.30 mod_myfixip/1.4 Location: XYZ Cache-Control: max-age=0 Expires: Fri, 14 Jul 2017 04:46:26 GMT Content-Type: text/html; charset=iso-8859-1
但仔细检查httpd二进制文件,它看起来像预期的那样编译为1.0.21:
^@ssl_engine_init.c^@AH02209: CA certificate: %s^@init_server^@chil^@TLSv1.2, ^@TLSv1.1, ^@TLSv1, ^@SSLv3, ^@SSLProxy^@with^@without^@AH03039: %i:^@OpenSSL 1.0.2l 25 May 2017^@OpenSSL^@Init: ^@SSL_VERSION_INTERFACE^@SSL_VERSION_LIBRARY^@
您必须将手动编译的openssl“lib”path添加到“ envvars ”文件,或者在启动httpd以便httpd使用它而不是系统版本之前手动将其添加到$ LD_LIBRARY_PATH中 。
envvars文件包含在httpd的bin目录中,它也被apachectl脚本使用。 这是为了这个目的。
那是:
export LD_LIBRARY_PATH="/path/to/ssl/lib:$LD_LIBRARY_PATH"