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

OpenSSL 升级、回滚的更多相关文章

  1. 入门Kubernetes - 滚动升级/回滚

    一.前言 上一篇文章中对yaml文件格式进行了解,并对k8s中各种主要资源通过yaml创建时的定义模板.接来下就进一步学习k8s的各种特点.并应用在示例中. 接下来先实现.Net Core Api程序 ...

  2. Swarm平滑升级回滚

    #滚动更新创建服务: docker service create --name my_web --replicas=5 nginx:1.12更新为1.14 docker service update ...

  3. Kubernetes:Pod 升级、回滚

    本篇主要讨论如何实现滚动更新和回滚,任意更换版本并且回滚以前的版本(版本更新),而下一章会讨论到 Pod 缩放,根据机器资源自动拓展和收缩应用(自动扩容实例). 本文为作者的 Kubernetes 系 ...

  4. kubernetes deployment升级和回滚

    a.创建deployment pod kubectl run mynginx --image=docker.io/nginx: --record 准备svc文件 apiVersion: v1 kind ...

  5. 原创|1分钟搞定 Nginx 版本的平滑升级与回滚

    Nginx无论是对于运维.开发.还是测试来说,都是日常工作需要掌握的一个知识点,之前也写过不少关于Nginx相关的文章: Nginx服务介绍与安装 Nginx服务配置文件介绍 Nginx配置虚拟主机 ...

  6. kubernetes云平台管理实战: 滚动升级秒级回滚(六)

    一.nginx保证有两个版本 1.查看当前容器运行nginx版本 [root@k8s-master ~]# kubectl get pod -o wide NAME READY STATUS REST ...

  7. Hadoop HDFS概念学习系列之HDFS升级和回滚机制(十二)

    不多说,直接上干货! HDFS升级和回滚机制 作为一个大型的分布式系统,Hadoop内部实现了一套升级机制,当在一个集群上升级Hadoop时,像其他的软件升级一样,可能会有新的bug或一些会影响现有应 ...

  8. 022.掌握Pod-Pod升级和回滚

    一 deploymentPod升级和回滚 1.1 deployment升级 若Pod是通过Deployment创建的,可以在运行时修改Deployment的Pod定义(spec.template)或镜 ...

  9. kubernetes Pod的升级与回滚

    一:Deployment的升级 1.通过kubectl set image命令为Deployment设置新的镜像名称kubectl set image deployment/nginx-deploym ...

  10. Docker & Kubenetes 系列四:集群,扩容,升级,回滚

    本篇将会讲解应用部署到Kubenetes集群,集群副本集查看,集群自愈能力演示,集群扩容,滚动升级,以及回滚. 本篇是Docker&Kubenetes系列的第四篇,在前面的篇幅中,我们向Kub ...

随机推荐

  1. 二叉树、平衡二叉树、红黑树、B树、B+树

    几种树的主要区别: 红黑树为二叉自平衡搜索树,深度大,多用于内存排序: B树为多路(多叉)搜索树,深度低,搜索数据时磁盘IO较少,多用于索引外存数据,只支持随机访问,不支持顺序访问: B+树是对B树的 ...

  2. WebGL初接触

    有感于在不少jd中看到关于WebGL的内容,想起来之前在高程中还没看完的canvas,就匆匆把剩余的一点看完了,高程中的内容还是皮毛,就属于很基础的.概念性的东西. WebGL 画布的3D上下文.不是 ...

  3. Seaurl-分享一个云上网址收藏网站

    前言 最近网上发现一个强大的网址收藏网站,点击这里打开,分享给大家,希望大家会喜欢. 网址空间 "网址空间"是一个专业的在线平台,它允许用户分享他们在日常生活和工作中频繁访问的网站 ...

  4. 搭建 MongoDB (v6.0) 副本集记录

    副本集概述 副本集(Replica Set)是一组带有故障转移的 MongoDB 实例组成的集群,由一个主(Primary)服务器和多个从(Secondary)服务器构成.通过Replication, ...

  5. 一个基于ASP.NET Core完全开源的CMS 解决方案

    本文简介 MixCoreCMS是一个基于.NET Core框架的开源内容管理系统(CMS),提供了丰富的的基础功能和插件,是一款面向未来的企业 Web CMS,可轻松构建任何类型的应用程序.集成了Go ...

  6. 【结对作业】第一周 | 学习体会day01

    周一老师布置了小组结对作业,内容如下: 我们今天实现了数据库的建立,页面的设计,以及前后端查询的操作,具体实现如下

  7. 自学 --day9---js中的数学操作和时间日期

    typora-copy-images-to: media 一.数学处理 1.Math常用API 圆周率 Math.PI // 3.1415926535 生成随机数 Math.random() 生成的是 ...

  8. 分享一个 asp.net core 多文件分块同时上传的组件

    分享一个可多个文件同时上传.断点续传,并实时反馈上传进度的 Asp.Net core 组件. 服务器端 引用 nuget 包:JMS.FileUploader.AspNetCore 然后启用上传组件: ...

  9. springboot下添加全局异常处理和自定义异常处理

    前言 在spring项目中,优雅处理异常,好处是可以将系统产生的全部异常统一捕获处理,自定义的异常也由全局异常来捕获,如果涉及到validator参数校验器使用全局异常捕获也是较为方便. 相关代码: ...

  10. 生成式AI:未来的发展方向是什么?

    生成式AI的问世标志着人工智能领域迎来了一个全新时代的开启.今年,ChatGPT的面世引起了广泛的热议和关注,许多人认为这标志着人工智能领域进入了一个大规模探索的时代.然而,事实上,这只是生成式AI发 ...