Ubuntu 20.04 LTS使用wget时无法建立SSL连接如何解决
wget访问raw.githubusercontent.com SSL连接失败排查修复方案
第一步 检查wget的SSL支持能力
执行如下命令确认wget是否编译了SSL模块:
wget --version | grep -i ssl
如果输出无OpenSSL、GnuTLS相关内容,说明当前wget未支持SSL,重新安装带SSL支持的版本即可:
- Debian/Ubuntu系统执行:
apt install --reinstall wget - CentOS/RHEL系统执行:
yum reinstall wget
第二步 更新系统根证书库
老旧系统内置的根证书可能无法识别GitHub CDN的SSL证书,执行对应命令更新根证书:
- Debian/Ubuntu系统执行:
update-ca-certificates - CentOS/RHEL系统执行:
update-ca-trust
第三步 手动指定TLS版本访问
GitHub相关资源已停止支持TLS1.0/1.1等老旧协议,老旧系统默认wget会用低版本协议握手,执行如下命令指定TLS1.2版本重试:
wget --secure-protocol=TLSv1_2 https://raw.githubusercontent.com/paulfitz/mysql-connector-c/master/include/my_config.h -P /usr/include/mysql/
第四步 排查443端口连通性
ping通仅代表ICMP协议可达,不代表HTTPS的443端口未被拦截,执行如下命令测试端口连通性:
nc -zv raw.githubusercontent.com 443
如果返回连接失败,说明运营商、本地防火墙或网络策略拦截了443端口访问,可在/etc/hosts文件中添加raw.githubusercontent.com的可用解析IP,比如:
185.199.108.133 raw.githubusercontent.com
临时替代方案
如果以上方案都无法生效,可在其他可正常访问该资源的设备上下载my_config.h文件,再通过scp等方式上传到服务器的/usr/include/mysql/目录下,之后重新执行安装脚本即可。
内容的提问来源于stack exchange,提问作者leelee
相关产品推荐
相关产品推荐

