大多数人都厌烦使用老旧的系统,无论软件还是硬件。但有的时候又不得不困守其中,坚持延续着系统的寿命,或者还需要点几柱香,祈求神佛的护佑。
Linux是一个模块化极好的操作系统,得益于此,当其中有组件落伍之时,大多数情况下,还能通过下载源码,手工编译来升级组件,从而保证系统的可用性。
在这个过程中,cURL工具是必不可少的,特别很多常用的开发平台,都使用了libcurl库作为下载的基础工具。比如PHP/PYTHON/RUST/NPM等。当cURL出现故障的时候,直接就导致很多开发工具的升级或者安装依赖包无法继续。
今天碰到一个故障,一台有些年头的服务器在升级一个安全组件的时候报了一个错误:
cURL error 35: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
字面意思上看,是ssl3在握手的时候出现了错误。
但实际上,如果换用一台正常的设备访问同样的网站,再加上-v参数,能看到网站实际是用了TLS的加密方式:
$ curl -v https://