阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

RedHat7.2自带curl请求https站点报错解决方案

336次阅读
没有评论

共计 2012 个字符,预计需要花费 6 分钟才能阅读完成。

RedHat7.2 自带 curl 请求 https 站点报错解决方案

问题背景

我们的项目要拿到客户机上做私有化安装,服务器操作系统客户指定只能使用 redhat7.2 版本,且客户机为了保密需要不能访问外网,而操蛋的 redhat 系统自带的 curl 支持的是 nss 协议的 https,而非 openssl 协议的 https,执行 curl 访问 https 站点的时候会出现无法 load key 的报错。

网上查了一下解决方案,Stack Overflow 上有答案说是生成的 key 的问题,需要将 key 转换成 RSA 的加密方式,我试了一下,curl 命令不会报错,但我们的服务端代码实现不能正常的初始化相关加解密容器。

还有部分答案推荐重装 curl,由于对 redhat 系统并不熟悉,且向来听说 linux 上离线安装的时候需要处理的依赖比较复杂,我的内心其实是拒绝的,但没有更好的解决办法,只能硬着头皮上了。。。

安装 zlib

访问 zlib 官网,下载最新的 zlib 包,这里由于我的 rhel 是较新的 7.2 版本,因此直接使用了 zlib 的最新版,如果是老版本,可能需要考虑 linux 内核的兼容性问题;

解压缩 zlib 安装包,cd 到解压缩的 zlib 包目录下,运行以下命令:

./configure
make test
make install #这里安装的是静态库
make clean
./configure --shared
make test
make install #这里先 clean,然后安装的是共享库
cp zutil.h /usr/local/include
cp zutil.c /usr/local/include #拷贝相关文件 

由于在步骤 2 中没有显示的指定 zlib 的安装目录,因此 zlib 默认被安装到了 /usr/local/lib 下,将 /usr/local/lib 添加到 /etc/ld.so.conf 文件中,并在 /etc 下执行 ldconfig,使配置生效,zlib 安装完毕

安装 openssl

访问 openssl 官网,下载最新的 openssl 包;

解压缩 openssl 安装包,cd 到解压缩的目录下,运行以下命令:

./config --prefix=/usr/local/ssl shared zlib-dynamic #指定 openssl 的安装目录,创建动态库,并在需要的时候动态引用 zlib 文件 (感觉我理解很肤浅且有问题,希望可以有大神给透彻的解答下这条命令的具体含义)
./config -t #好像没什么卵用,就是输出下操作系统的相关信息
make #我执行这句的时候报错了,大意就是找不到相关的动态库,网上搜了一圈没有找到什么合适的答案,邃自己修改了下 Makefile,在 gcc 的指定中添加了 -fPIC 选项,注意,由于 make 了一半报错,所以需要先执行 **make clean** 然后再重新 make,如果一上来就修改了 Makefile,可以不用执行 **make clean** 
make test #执行这句的时候我这边也报错了,意思是 Conditional.pm 这个模块找不到,在网上搜了一圈,竟然找不到合适的答案,我只想说我对 redhat 真的是无力吐槽了,缺的东西也太多了,就这还能挣钱,不过说不定也就是靠这些挣钱了。。无奈且无助的我只能无视报错了,直接执行下一步
make install #感谢上帝佛祖保佑,上面的报错只是 test 的时候引起的,install 竟然没有报错安装成功了!

还是修改 /etc/ld.so.conf,添加 /usr/local/ssl/lib,修改完毕后执行 ldconfig 使修改生效

将新安装的 openssl 添加到系统环境变量,覆盖旧的 openssl,我这里修改的是 /etc/profile 文件,在最后一行添加 export PATH=/usr/local/ssl/bin:$PATH,然后执行 source /etc/profile 即可

安装 curl

访问 curl 官网,下载最新的 curl 包,我下载的是最新的稳定版,还有个长期支持版 (但只更新到两三年后),没搞明白存在的意义是什么,弃之;

解压缩 curl 安装包,cd 到解压缩目录下,执行以下命令:

./configure --prefix=/usr/local/curl --with-ssl #指定安装目录,指定使用 openssl 进行编译,这里并没有指定上面安装的 openssl 的具体路径,猜测安装脚本里会自动到 /usr/local/lib 以及其他目录下查找相关文件 (有熟悉 c ++ 的同学可以给解释下)
make
make install #很神奇,竟然没报错,我都不适应了。。

将 /usr/local/curl/bin 添加到 /etc/profile 中的 PATH 前,执行 source /etc/profile 使环境变量的修改生效;

执行 curl -V,并测试 curl -k https 命令,终于能正常读取证书和 key 文件访问 https 站点了,搞定!

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-28发表,共计2012字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7982453
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...