apache2.2.23+openssl1.0.1u支持TLS1.2

由于CENTOS5.5系统自带的是openssl0.9.8的,此版本的openssl并不支持TLS协议,所以我们需要升级openssl版本。

安装openssl1.0.1u,据说从这个版本开始openssl支持TLS1.2
安装之前最好先删除系统自带旧的openssl0.9.8版本的,不删除也行。
由于运营环境不同,以下过程仅供参考。openssl属于系统应用,被较多应用依赖,由于环境不同等因素,请先在测试环境进行充分测试。


从官方下载最新版本的opensssl库
wget https://www.openssl.org/source/openssl-1.0.1u.tar.gz
解压下载的openssl压缩包
tar -zxvf openssl-1.0.1g.tar.gz
进入解压后的openssl文件夹
cd openssl-1.0.1g
执行文件夹中的config文件,这里openssl的安装目录默认是/usr/local/ssl(由于系统环境差异路径可能不一致,下同),注意添加zlib-dynamic参数,使其编译成动态库,最好还是指定安装目录

安装过程如下 :
./config shared zlib-dynamic –prefix=/usr/local/openssl
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo /usr/local/ssl/lib >> /etc/ld.so.conf
ldconfig -v

查看是否升级成功
[root@zj ~]# openssl version -a
OpenSSL 1.0.1u  22 Sep 2016

通过ldd命令查看依赖库
ldd /usr/local/apache2/bin/httpd
如果有libssl.so.1.0.0 字样的,就是静态安装的,需重新编译apache

apache重新编译:
把原来的安装目录备份,在编译前需导入 下面这个环境变量,不然make install 添加SSL支持的时候会出错。
export LDFLAGS=-ldl

./configure –prefix=/usr/local/apache  –enable-module=all –enable-so –enable-mods-shared=all  –enable-suexec –with-suexec-docroot=/home  –with-suexec-uidmin=100 –with-suexec-gidmin=100 –with-suexec-caller=apache  –enable-ssl=static –with-ssl=/usr/local/openssl
make
make install
__________________________________________________
–enable-ssl=static –with-ssl=/usr/local/openssl 此段为添加ssl支持
______________________________________________________
安装好以后,将备份的配置文件复制过来,重启服务即可。

3,909 views

发表评论