OpenSSL v3.0.1版本安装及遇到的坑

环境:CentOS 7.6,腾讯云轻量应用服务器

最近在折腾Python的flask框架,但是在请求HTTPS连接时遇到了下面这个报错:

Caused by SSLError
(“Can‘t connect to HTTPS URL because the SSL module is not available.“)

一番搜索,认为是SSL版本过低的问题,不适配当前的Python版本,于是决定升级OpenSSL。

一、升级OpenSSL

openssl version    # 查看OpenSSL的当前版本

首先安装相关依赖:

yum install gcc libffi-devel zlib* openssl-devel

官网下载OpenSSL的新版本、解压并进入安装目录

wget https://www.openssl.org/source/openssl-3.0.1.tar.gz    # 官网下载OpenSSL
tar -zxvf openssl-3.0.1.tar.gz    # 解压安装包
cd openssl-3.0.1                  # 进入安装目录

配置安装目录(通过--prefix)及共享包(通过shared)

./config --prefix=/usr/local/openssl shared zlib

如果之前编译过,执行make clean清除object文件,没有则跳过此步

编译、编译安装

make            # 编译
make install    # 编译安装

安装完成后,直接进入程序目录,测试是否能使用:

cd /usr/local/openssl/bin
./openssl

结果报错:

./openssl: error while loading shared libraries: libssl.so.3: 
cannot open shared object file: No such file or directory

查看/usr/local/openssl/lib64目录,发现是有libssl.so.3这个库文件的,但是openssl程序却找不到,考虑是路径问题。一番搜索后明白了,openssl程序会去 /usr/lib/路径下去寻找库文件。

于是,把openssl的库文件全部拷贝到 /usr/lib/路径中去:

cp -r /usr/local/openssl/lib64/* /usr/lib

更新动态链接库

ldconfig

再次执行程序/usr/local/openssl/bin/openssl,已经不报错了。

再次输入openssl version查看版本,结果发现仍然是旧版本。

这是由于/usr/bin/openssl的软链接仍然指向旧的OpenSSL。

下面进行新旧版本替换:

# 备份旧版openssl
mv /usr/bin/openssl /usr/bin/openssl.bak-$(date +%m%d)

# 新版openssl软链接到旧openssl位置
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

# /etc/ld.so.conf 文件记录了编译时使用的动态链接库的路径,告诉链接器去哪个路径下寻找链接时需要用到的库,如果找不到,就会提示链接错误。
echo "/usr/local/openssl/lib">>/etc/ld.so.conf

# ldconfig 命令用于在默认搜寻目录 /lib 和 /usr/lib 以及动态库配置文件 /etc/ld.so.conf 内所列的目录下,搜索出可共享的动态链接库。
ldconfig

二、重新编译Python3.11.2

待更

〇、参考:

  1. 编译安装openssl及安装完openssl后使用 ssh -V 查看依然是旧版openssl原因

  1. Python解决SSL不可用问题

  1. Can't connect to HTTPS URL because the SSL module is not available.详解

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
openssl-3.0.1.tar.gz是一个软件包的压缩文件,可用于安装OpenSSL 3.0.1版本。要下载该文件,可以按照以下步骤进行操作: 1. 打开一个网页浏览器,进入OpenSSL的官方网站。可以使用搜索引擎搜索“OpenSSL官方网站”来找到正确的链接。 2. 在网站上找到下载页面或者下载区域,一般位于网站的首页或者产品页面。对于较新版本的软件,你可能需要点击“下载”或类似的按钮。 3. 查找OpenSSL 3.0.1的下载链接。根据网站的设计和布局,下载链接可能会以文本或按钮的形式出现。在找到相应的链接之前,可能需要浏览或搜索页面。 4. 单击或者右键点击下载链接,选择“保存链接为”(Save Link As)或“另存为”(Save As)等浏览器选项。这将弹出一个文件保存对话框。 5. 在文件保存对话框中,选择一个合适的保存位置,并将文件命名为"openssl-3.0.1.tar.gz"或其他你喜欢的名称。 6. 单击“保存”按钮来开始文件下载。下载速度取决于你的网络连接和服务器的响应速度。 7. 下载完成后,导航到你保存的文件所在的文件夹,并解压缩.tar.gz文件。你可以使用压缩软件(如WinRAR、7-Zip等)来执行此操作。 这样,你就可以成功下载和解压OpenSSL 3.0.1的.tar.gz文件,并可以根据软件的安装指南进行安装和配置。请注意,下载文件时要确保获取来自受信任的来源,以避免下载到恶意软件或病毒。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值