由于chrome浏览器安全校验升级,必须支持TLSv1.2,而由于之前的nginx 内嵌的是openssl 0.9.8e版本不支持TLSv1.2,现需要升级Openssl
系统openssl环境升级openssl
1、查看源版本
openssl version -a
2、下载openssl-1.0.1g.tar.gz
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
3、更新zlib
yum install -y zlib
4、解压安装
tar zxf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./config shared zlib
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
ldconfig -v
5、查看是否升级成功
openssl version
注意:如果nginx安装时是内嵌了Openssl模板的话,系统Openssl升级后,nginx的Openssl版本不会有变化。
使用nginx -V可查看内嵌nginx的openssl版本
升级nginx内嵌openssl版本
- 首先关闭nginx:nginx -s stop
- 在nginx源码目录中,设置内嵌openssl源码包路径,如:./configure --with-http_ssl_module --with-http_stub_status_module --with-pcre --with-stream --with-stream_ssl_module --with-openssl=/usr/local/src/openssl/openssl-1.0.2s #添加with-openssl的参数后,指定openssl的源码路径,重新编译
- 编译:make -j 4 && make install
- 查看nginx内嵌openssl版本:nginx -V
- 升级完成后可支持TLSv1.2