当前位置: 首页 > 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…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

pam_env.so模块配置解析

在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

Spring Boot面试题精选汇总

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

2023赣州旅游投资集团

单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...