ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.0.2k-fips 26 Jan 2017. See: https://github.com/urllib3/urllib3/issues/2168
安装
[root@localhost pdserving]# openssl version # 备份 [root@localhost pdserving]# cp -r /usr/bin/openssl /usr/bin/openssl_bak [root@localhost pdserving]# cp -r /usr/include/openssl /usr/include/openssl_bak [root@localhost pdserving]# cd /usr/local/ # 下载 OpenSSL [root@localhost local]# wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1t.tar.gz [root@localhost local]# tar -zxvf openssl-1.1.1t.tar.gz [root@localhost local]# cd openssl-1.1.1 # 配置 [root@localhost local]# ./config --prefix=/opt/openssl --openssldir=/usr/local/ssl # 编译&安装 [root@localhost local]# make &&make install
如下图可以看出,程序被安装到了 /opt/openssl
目录下了
设置软连接
[root@localhost openssl-1.1.1t]# ln -s /opt/openssl/bin/openssl /usr/bin/openssl ln: 无法创建符号链接"/usr/bin/openssl": 文件已存在 # 如已存在先将原来的软连接文件mv到/tmp目录下, [root@localhost openssl-1.1.1t]# mv /usr/bin/openssl /tmp/ # 设置软连接 [root@localhost openssl-1.1.1t]# ln -s /opt/openssl/bin/openssl /usr/bin/openssl [root@localhost openssl-1.1.1t]# ln -s /opt/openssl/include/openssl /usr/include/openssl [root@localhost openssl-1.1.1t]# openssl version openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory [root@localhost openssl-1.1.1t]# ll /opt/openssl/lib/ 总用量 10528 drwxr-xr-x. 2 root root 39 5月 18 13:37 engines-1.1 -rw-r--r--. 1 root root 5655624 5月 18 13:37 libcrypto.a lrwxrwxrwx. 1 root root 16 5月 18 13:37 libcrypto.so -> libcrypto.so.1.1 -rwxr-xr-x. 1 root root 3397152 5月 18 13:37 libcrypto.so.1.1 -rw-r--r--. 1 root root 1028434 5月 18 13:37 libssl.a lrwxrwxrwx. 1 root root 13 5月 18 13:37 libssl.so -> libssl.so.1.1 -rwxr-xr-x. 1 root root 689576 5月 18 13:37 libssl.so.1.1 drwxr-xr-x. 2 root root 61 5月 18 13:37 pkgconfig # 已存以先移除 # mv /usr/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1.bak # mv /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1.bak [root@localhost openssl-1.1.1t]# ln -s /opt/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1 [root@localhost openssl-1.1.1t]# ln -s /opt/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 [root@localhost openssl-1.1.1t]# echo "/usr/local/lib/" >> /etc/ld.so.conf [root@localhost openssl-1.1.1t]# ldconfig -v [root@localhost openssl-1.1.1t]# openssl version -a OpenSSL 1.1.1t 7 Feb 2023
回滚
升级后可能会导致某些服务安装失败,回滚到之前的默认版本【以下没测试】
# 查看openssl, 然后删除升级后的openssl [root@localhost ~]# find / -name openssl [root@localhost ~]# rm -rf /usr/local/src/openssl-1.1.1 [root@localhost ~]# rm -rf /usr/local/bin/openssl [root@localhost ~]# rm -rf /usr/local/share/doc/openssl [root@localhost ~]# rm -rf /usr/local/include/openssl # 然后查看下openssl版本 [root@localhost ~]# which openssl /usr/bin/openssl [root@localhost ~]# openssl version -a # 报错说/usr/local/bin/openssl 找不到这个文件 # 然后重启机器 [root@localhost ~]# init 6 # 重启机器后, 查看openssl版本, 如果正常查出是默认版本, 则回滚正常 [root@localhost ~]# openssl version -a