当前位置: 首页 > news >正文

Centos7更换OpenSSL版本

在这里插入图片描述

  • OpenSSL 1.1.0 用户应升级至 1.1.0a
  • OpenSSL 1.0.2 用户应升级至 1.0.2i
  • OpenSSL 1.0.1 用户应升级至 1.0.1u

查看openssl版本

openssl version -v

选择升级版本

我的版本是OpenSSL 1.0.2系列,所以要升级1.0.2i

https://www.openssl.org/source/old/1.0.2/openssl-1.0.2i.tar.gz

升级操作

  1. 提前创建好自定义安装路径
    mkdir /usr/local/openssl-1.0.2i
    mkdir /usr/local/ssl-1.0.2i
    
  2. 解压下载好的源码包
    tar -zxf openssl-1.0.2i.tar.gz 
    
  3. 开始编译和安装
    # 进入解压后的源码包目录
    cd openssl-1.0.2i
    # 配置openssl安装目录和openssldir
    ./config --prefix=/usr/local/openssl-1.0.2i --openssldir=/usr/local/ssl-1.0.2i# 使用2个线程进行同时编译
    make -j 2# 安装
    make install
    # 完成安装后,可以查看下里面安装好的东东
    ># ls -l /usr/local/openssl-1.0.2i/
    total 12
    drwx------ 2 root root 4096 Apr 26 17:17 bin
    drwx------ 3 root root 4096 Apr 26 17:17 include
    drwx------ 4 root root 4096 Apr 26 17:17 lib># ls -l /usr/local/ssl-1.0.2i/
    total 28
    drwx------ 2 root root  4096 Apr 26 17:17 certs
    drwx------ 6 root root  4096 Apr 26 17:17 man
    drwx------ 2 root root  4096 Apr 26 17:17 misc
    -rw-r--r-- 1 root root 10835 Apr 26 17:17 openssl.cnf
    drwx------ 2 root root  4096 Apr 26 17:17 private
    

软链接到新的openssl版本

  1. 查找旧版的openssl在哪
    ># find / -depth -name "openssl"
    /usr/include/openssl
    /usr/bin/openssl
    /usr/lib64/openssl
    /usr/local/lib/gcc/x86_64-pc-linux-gnu/8.1.0/include-fixed/openssl
    /opt/test/nginx-1.18.0/auto/lib/openssl
    /etc/pkiopd/ca-trust/extracted/openssl
    /home/ops/abc/python/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl
    /home/ops/abc/python/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl
    
  2. 分析哪些要做软链
    # 经分析,下面这两个是需要通过软链替换的,而且要做好备份
    /usr/include/openssl
    /usr/bin/openssl# 经分析,这个目录暂时不动,因为新版的路径下/usr/local/openssl-1.0.1u/ 没有lib64,只有lib,为了预防出现其他不可预知的问题,可先不通过软链的方式替换它 
    /usr/lib64/openssl# 经分析,以下这些是应用自身的,可暂且不管
    /usr/local/lib/gcc/x86_64-pc-linux-gnu/8.1.0/include-fixed/openssl
    /opt/test/nginx-1.18.0/auto/lib/openssl
    /etc/pkiopd/ca-trust/extracted/openssl
    /home/ops/abc/python/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl
    /home/ops/abc/python/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl
    
  3. 备份当前openssl
    mv /usr/include/openssl /usr/include/openssl.bak.20220426
    mv /usr/bin/openssl /usr/bin/openssl.bak.20220426
    
  4. 配置软链到新版本
    ln -s /usr/local/openssl-1.0.2i/include/openssl /usr/include/openssl
    ln -s /usr/local/openssl-1.0.2i/bin/openssl /usr/bin/openssl
    
  5. 更新动态链接数据并重新加载
    ># echo "/usr/local/openssl-1.0.1u/lib" >> /etc/ld.so.conf
    ># ldconfig -v
    
  6. 最后,查看是否升级成功
    ># openssl version
    OpenSSL 1.0.2i  22 Sep 2016
    

nginx升级openssl版本

重要的意向配置是--with-openssl=/opt/source/openssl-1.0.2i,指定openssl源码包位置。

./configure --prefix=/opt/nginx --conf-path=/opt/nginx/conf/nginx.conf --error-log-path=/opt/nginx/logs/error.log --http-log-path=/opt/nginx/logs/access.log --http-client-body-temp-path=/opt/nginx/conf/client_body_temp --http-proxy-temp-path=/opt/nginx/conf/proxy_temp --http-fastcgi-temp-path=/opt/nginx/conf/fastcgi_temp --http-uwsgi-temp-path=/opt/nginx/conf/uwsgi_temp --http-scgi-temp-path=/opt/nginx/conf/scgi_temp --with-http_ssl_module --with-openssl=/opt/source/openssl-1.0.2i

在这里插入图片描述

图片原文链接


为什么配置这么多,这些配置是从已经安装的nginx复制过来的,配置可通过nginx -V命令查看,可参考下图
在这里插入图片描述
图片原文链接

相关文章:

Centos7更换OpenSSL版本

OpenSSL 1.1.0 用户应升级至 1.1.0aOpenSSL 1.0.2 用户应升级至 1.0.2iOpenSSL 1.0.1 用户应升级至 1.0.1u 查看openssl版本 openssl version -v选择升级版本 我的版本是OpenSSL 1.0.2系列,所以要升级1.0.2i https://www.openssl.org/source/old/1.0.2/openssl-…...

基于摄影测量的三维重建【终极指南】

我们生活的时代非常令人兴奋,如果你对 3D 东西感兴趣,更是如此。 我们有能力使用任何相机,从感兴趣的物体中捕捉一些图像数据,并在眨眼间将它们变成 3D 资产! 这种通过简单的数据采集阶段进行的 3D 重建过程是许多行业…...

配置ThreadPoolExecutor

ThreadPoolExecutor为一些Executor 提供了基本的实现,这些Executor 是由Executors中的newCachedThreadPool、newFixedThreadPool和newScheduledThreadExecutor 等工厂方法返回的。ThreadPoolExecutor是一个灵活的、稳定的线程池,允许进行各种定制。 如果默认的执行策略不能满足…...

Yolov5s算法从训练到部署

文章目录 PyTorch GPU环境搭建查看显卡CUDA版本Anaconda安装PyTorch环境安装PyCharm中验证 训练算法模型克隆Yolov5代码工程制作数据集划分训练集、验证集修改工程相关文件配置预训练权重文件配置数据文件配置模型文件配置 超参数配置 测试训练出来的算法模型 量化转换算法模型…...

分布式补充技术 01.AOP技术

01.AOP技术是对于面向对象编程(OOP)的补充。是按照OCP原则进行的编写,(ocp是修改模块权限不行,扩充可以) 02.写一个例子: 创建一个新的java项目,在main主启动类中,写如下代码。 package com.co…...

QT 多对一服务插件 CTK开发(五)

CTK在软件的开发过程中可以很好的降低复杂性、使用 CTK Plugin Framework 提供统一的框架来进行开发增加了复用性 将同一功能打包可以提供多个应用程序使用避免重复性工作、可以进行版本控制提供了良好的版本更新迭代需求、并且支持动态热拔插 动态更新、开发更加简单快捷 方便…...

[Windows]_[初级]_[创建目录和文件的名字注意事项]

场景 在开发Windows程序时,会出现目录生成了,但是函数无法在目录里创建文件,怎么回事?说明 在之前说过Windows上有些字符是不能作为文件名的[1],但是检查了下出问题的目录名没有非法字符,所以不是这个原因。 把文件的绝对路径打印出来就发现了问题,目录名后边带了空格,…...

「QT」QT5程序设计目录

✨博客主页:何曾参静谧的博客 📌文章专栏:「QT」QT5程序设计 目录 📑【QT的基础知识篇】📑【QT的GUI编程篇】📑【QT的项目示例篇】📑【QT的网络编程篇】📑【QT的数据库编程篇】📑【QT的跨平台编程篇】📑【QT的高级编程篇】📑【QT的开发工具篇】📑【QT的调…...

ConcurrentHashMap核心源码(JDK1.8)

一、ConcurrentHashMap的前置知识扫盲 ConcurrentHashMap的存储结构? 数组 链表 红黑树 二、ConcurrentHashMap的DCL操作 HashMap线程不安全,在并发情况下,或者多个线程同时操作时,肯定要使用ConcurrentHashMap 无论是HashM…...

【Python】文件 读取 写 os模块 shutil模块 pickle模块

目录 1.文件 1.1 读取操作 1.2 写操作 1.3 os:文件管理 1.4 os.path:获取文件属性 1.5 shutil:文件的拷贝删除移动解压缩 1.6 pickle:数据永久存储 1.文件 文件编码 编码是一种规则集合,记录内容和二进制间相互…...

PAT A1087 All Roads Lead to Rome

1087 All Roads Lead to Rome 分数 30 作者 CHEN, Yue 单位 浙江大学 Indeed there are many different tourist routes from our city to Rome. You are supposed to find your clients the route with the least cost while gaining the most happiness. Input Specific…...

浅谈HttpURLConnection所有方法详解

HttpURLConnection 类是 Java 中用于实现 HTTP 协议的基础类,它提供了一系列方法来建立与 HTTP 服务器的连接、发送请求并读取响应信息。下面是 HttpURLConnection 类中常用的方法以及其详细解释: ---------------------------------------------------…...

前端快速创建web3应用模版分享

一、起因 一直以来都有一个创建前端Dapp模版的愿望,一来是工作中也有这样的需要,避免每次都要抽离重复的代码。二来是这样的模版也能帮助其他前端快速了解到web3应用的脚手架以及框架结构。于是决定整理一个模版并开源,希望我的代码能帮助到大…...

越权漏洞讲解

越权漏洞是指系统或应用程序中存在的安全漏洞,允许攻击者以超越其授权范围的方式访问系统资源或执行特权操作。这种漏洞可能会导致严重的安全风险,因为攻击者可以利用它来获取敏感信息、修改系统设置或执行恶意操作。 下面是一些常见的越权漏洞类型和它…...

短视频矩阵源码系统打包.源码

Masayl是一款基于区块链技术的去中心化应用程序开发平台,可帮助开发者快速、便捷地创建去中心化应用程序。Masayl拥有丰富的API和SDK,为开发者们提供了支持。此外,Masayl还采用了高效的智能合约技术,确保应用程序的稳定、安全和高…...

云南LED、LCD显示屏系统建设,户外、室内广告大屏建设方案

LED大屏幕显示系统是LED高清晰数字显示技术、显示单元无缝拼接技术、多屏图像处理技术、信号切换技术、网络技术等科技手段的应用综合为一体,形成一个拥有高亮度、高清晰度、技术先进、功能强大、使用方便的大屏幕投影显示系统。通过大屏幕显示系统,可以…...

Shell脚本:expect脚本免交互

Shell脚本:expect脚本免交互 expect脚本免交互 一、免交互基本概述:1.交互与免交互的区别:2.格式:3.通过read实现免交互:4.通过cat实现查看和重定向:5.变量替换: 二、expect安装:1.…...

王道考研计算机网络第二章知识点汇总

2.1.1物理层基本概念 电气特性和功能特性易混淆,注意区分。电气特性一般指的是某个范围,功能特性一般指的是电平所代表的含义。 2.1.2数据通信基础知识 同步传输是指发送方和接收方节奏是统一的,数据之间是没有间隔的是一个一个的区块。在键…...

06.05

1.二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 考虑一个最朴素的方法:先将 aaa 和 bbb 转化成十进制数,求和后再转化为二进制数。利用 Python 和 Java 自带的高精度运算,我们可以很简单地写出这…...

【虹科案例】虹科数字化仪在激光雷达大气研究中的应用

01 莱布尼茨研究所使用激光雷达进行大气研究 图 1:在 Khlungsborn 的 IAP 办公室测试各种激光器 大气研究使用脉冲激光束通过测量大气中 100 公里高度的多普勒频移和反向散射光来测量沿光束的温度和风速。返回的光信号非常微弱,会被阳光阻挡&#xff0c…...

大话软工笔记—需求分析概述

需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?

FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...

如何通过git命令查看项目连接的仓库地址?

要通过 Git 命令查看项目连接的仓库地址,您可以使用以下几种方法: 1. 查看所有远程仓库地址 使用 git remote -v 命令,它会显示项目中配置的所有远程仓库及其对应的 URL: git remote -v输出示例: origin https://…...