關於curl報錯:curl: (1) Protocol "https" not supported or disabled in libcurl


操作系統:Red Hat Enterprise Linux Server release 7.6 (Maipo)
curl官網:https://curl.se


今天在一台主機上使用curl命令時(訪問https網站下載腳本,curl使用了--tlsv1.2及--insecure選項)
報錯:curl: (1) Protocol "https" not supported or disabled in libcurl

初步的排查過程如下:

[qq_5201351@localhost ~]$ curl -V
curl 7.69.0 (x86_64-pc-linux-gnu) libcurl/7.69.0
Release-Date: 2020-03-04
Protocols: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp
Features: AsynchDNS Largefile UnixSockets
[qq_5201351@localhost ~]$ 

由上可知curl沒有對https的支持,應該是當初安裝時沒有添加對SSL的支持

嘗試解決方案:先安裝openssl-devel,然后再yum update curl命令,還是一樣的不支持

 

+++於是使用了源碼安裝curl(為了安全,不影響現有系統,筆者先使用個人普通用戶安裝),進行安裝解決

1、使用root用戶,安裝openssl-devel軟件包(如果不安裝,源碼安裝的curl依然不會支持SSL)

[root@localhost ~]# yum install openssl-devel -y

2、源碼編譯安裝curl,普通的三步安裝即可,推薦使用--prefix指定好安裝路徑

[qq_5201351@localhost ~]$ wget https://curl.se/download/curl-7.76.1.tar.gz
[qq_5201351@localhost ~]$ tar zxf curl-7.76.1.tar.gz
[qq_5201351@localhost ~]$ cd curl-7.76.1/
[qq_5201351@localhost curl-7.76.1]$ ./configure --prefix=/home/qq_5201351/curl_https
[qq_5201351@localhost curl-7.76.1]$ make
[qq_5201351@localhost curl-7.76.1]$ make install

3、最后執行執行自己安裝的curl命令可以看到支持https了(也可以加入到用戶PATH變量中)

[qq_5201351@localhost ~]$ /home/qq_5201351/curl_https/bin/curl -V
curl 7.76.1 (x86_64-pc-linux-gnu) libcurl/7.76.1 OpenSSL/1.0.2k-fips zlib/1.2.7
Release-Date: 2021-04-14
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HTTPS-proxy Largefile libz NTLM NTLM_WB SSL UnixSockets

4、最后問題得到解決,當然也可以直接使用root用戶安裝,然后配置好PATH環境變量,讓系統不使用默認yum/rpm方式安裝的curl命令

 

 

尊重別人的勞動成果 轉載請務必注明出處:https://www.cnblogs.com/5201351/p/14716040.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM