部署项目的时候遇到服务器报错:Can't connect to HTTPS URL because the SSL module is not available。
研究一番之后,发现是Openssl的版本问题,解决方案如下所示。
Python3.9要求OpenSSL版本在1.1.1及以后,我的原始版本为1.0.1e,所以第一步是升级OpenSSL到1.1.1w,然后重新编译Python3.9,即可解决这个问题。
1.查看OpenSSL版本指令
openssl version
# 结果如下
[root]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
2.下载安装OpenSSL
#下载OpenSSL
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
# 解压
tar zxvf openssl-1.1.1w.tar.gz
# 进入目录
cd openssl-1.1.1w
# 编译安装
./config --prefix=/opt/openssl1.1.1w --openssldir=/opt/openssl1.1.1w/openssl no-zlib
make && make install
echo "/opt/openssl1.1.1w/lib" >> /etc/ld.so.conf
ldconfig -v
3.测试OpenSSL是否安装成功
/opt/openssl1.1.1w/bin/openssl version
# 结果如下
[root]# /opt/openssl1.1.1w/bin/openssl version
OpenSSL 1.1.1w 11 Sep 2023
4.重新编译Python3.9
# cd进python目录
cd ~/python3.9
# 编译安装
./configure --with-openssl=/opt/openssl1.1.1w/bin/openssl --enable-optimizations
make
make install
5.测试是否成功SSL
[root]# python3.9
>>> import requests
>>> print(requests.get("https://baidu.com").content)