今天升级了一下面板的版本,升级到6.9.14 测试版,看到升级日志中,提到增加TLSv1.3自动配置(需要nginx1.15或tengine2.3)。。这个TLSv1.3之前论坛上也有不少网友说上支持的。现在OK支持了,但是看一下条件是要nginx1.15+openssl1.1.1才行。。我默默的打开面板的nginx看了一下,,,版本是nginx1.14+openssl1.0。。。。
算了,。。先不搞它。。我先在本地的虚拟机上搞搞吧。。。先操作一次。。再到生产环境搞吧。。免得出错,服务器给挂掉,那就非常不好的了。
如果你的服务器已经是nginx1.15+openssl,那你就不用搞了。可以在面板上直接使用了。如果不是。那你在升级下了。
nginx的可以在面板上直接卸载重装就可以了。
关于openssl的话,我找了一下,都是使用源码编译安装的,流程如下:
下载最新版:
https://www.openssl.org/source/
安装
# tar -zxvf openssl-1.1.1b.tar.gz # cd openssl-1.1.1b
指定安装目录、配置文件目录
# ./config shared zlib --prefix=/usr/local/openssl-1.1.1b --openssldir=/usr/local/openssl-1.1.1b/ssl
#显示安装信息
# perl configdata.pm --dump # make # make install
备份并添加新的符号链接
# mv /usr/bin/openssl /usr/bin/openssl-old # ln -s /usr/local/openssl-1.1.1b/bin/openssl /usr/bin/openssl
查看新版本
# openssl version -a
显示出新的版本信息就成功了,如果没有,显示下面的错误
报错:
./openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
原因:
未找到对应的库文件(可以这样判断看看)
# ldd openssl
显示有2个not found
libssl.so.1.1 => not found
libcrypto.so.1.1 => not found
解决的方法,两种,我个人是使用了最两种方法解决的。推荐第二种,因为够快,不行的话,可以使用第一种方法。
1、关联新的库文件
# cd /etc/ld.so.conf.d/ # vi openssl-1.1.1b.conf #新建一个配置文件,内容填入下面这行 # ldconfig -v
/usr/local/openssl-1.1.1b/lib
再执行ldd openssl 显示OK
2、可以做一个软连接
假如你的libssl.so.1.1 文件在/usr/local/openssl/lib/下面,可以这样做
# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1 # ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
这时openssl version 显示出新版本号就OK了。
如果要删除软连接,直接删掉就好
# rm /usr/lib64/libcrypto.so.1.1