libcurl 不支持 HTTPS
libcurl does not support HTTPS
我 运行 在 Ubuntu 14.04 上,我已经手动安装了 curl 7.48(参见问题 )。
我试过执行命令:
carlo@carlo-ThinkPad-W541:/usr/bin$ curl -sS https://storage.googleapis.com/kubernetes-release/release/stable.txt
curl: (1) Protocol "https" not supported or disabled in libcurl
carlo@carlo-ThinkPad-W541:/usr/bin$
所以我快速检查了配置输出,它明确表示不支持 SSL:
configure: Configured to build curl/libcurl:
curl version: 7.48.0
Host setup: x86_64-unknown-linux-gnu
Install prefix: /usr/local
Compiler: gcc
SSL support: no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )
所以我看了这个 link https://curl.haxx.se/docs/install.html
我尝试了不同的命令:
root@carlo-ThinkPad-W541:~/curl-7.48.0# ./configure --with-ssl
正在尝试指定我的 openSSL 库的位置:
root@carlo-ThinkPad-W541:~/curl-7.48.0# ./configure --with-ssl=/lib/x86_64-linux-gnu/
设置环境变量:
root@carlo-ThinkPad-W541:~/curl-7.48.0# export LDFLAGS="-L/lib/x86_64-linux-gnu/"
root@carlo-ThinkPad-W541:~/curl-7.48.0# ./configure --with-ssl
但似乎没有任何效果,结果总是一样的:
[...]
configure: Configured to build curl/libcurl:
curl version: 7.48.0
Host setup: x86_64-unknown-linux-gnu
Install prefix: /usr/local
Compiler: gcc
SSL support: no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )
SSH support: no (--with-libssh2)
zlib support: enabled
GSS-API support: no (--with-gssapi)
TLS-SRP support: no (--enable-tls-srp)
resolver: default (--enable-ares / --enable-threaded-resolver)
IPv6 support: enabled
Unix sockets support: enabled
IDN support: no (--with-{libidn,winidn})
Build libcurl: Shared=yes, Static=yes
Built-in manual: enabled
--libcurl option: enabled (--disable-libcurl-option)
Verbose errors: enabled (--disable-verbose)
SSPI support: no (--enable-sspi)
ca cert bundle: /etc/ssl/certs/ca-certificates.crt
ca cert path: no
ca fallback: no
LDAP support: no (--enable-ldap / --with-ldap-lib / --with-lber-lib)
LDAPS support: no (--enable-ldaps)
RTSP support: enabled
RTMP support: no (--with-librtmp)
metalink support: no (--with-libmetalink)
PSL support: no (libpsl not found)
HTTP2 support: disabled (--with-nghttp2)
Protocols: DICT FILE FTP GOPHER HTTP IMAP POP3 RTSP SMTP TELNET TFTP
root@carlo-ThinkPad-W541:~/curl-7.48.0#
curl 配置的 --with-ssl
选项将使其检查(理想情况下使用)OpenSSL。
您需要先确保您有OpenSSL开发包,以便构建过程可以使用headers并找到相关库等
如果您的系统某处有自定义构建的 OpenSSL,您可以使用 ./configure --with-ssl=/path/to/prefix
.[=13 指出该自定义 OpenSSL 安装树的 root =]
如果仍然不能正确找到和使用 OpenSSL,您应该考虑打开配置在 运行 时创建的文件 config.log
。然后在那里搜索 openssl 并尝试分析其中对 openssl 的检查以及它们失败的原因。
我 运行 在 Ubuntu 14.04 上,我已经手动安装了 curl 7.48(参见问题
我试过执行命令:
carlo@carlo-ThinkPad-W541:/usr/bin$ curl -sS https://storage.googleapis.com/kubernetes-release/release/stable.txt curl: (1) Protocol "https" not supported or disabled in libcurl carlo@carlo-ThinkPad-W541:/usr/bin$
所以我快速检查了配置输出,它明确表示不支持 SSL:
configure: Configured to build curl/libcurl: curl version: 7.48.0 Host setup: x86_64-unknown-linux-gnu Install prefix: /usr/local Compiler: gcc SSL support: no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )
所以我看了这个 link https://curl.haxx.se/docs/install.html 我尝试了不同的命令:
root@carlo-ThinkPad-W541:~/curl-7.48.0# ./configure --with-ssl
正在尝试指定我的 openSSL 库的位置:
root@carlo-ThinkPad-W541:~/curl-7.48.0# ./configure --with-ssl=/lib/x86_64-linux-gnu/
设置环境变量:
root@carlo-ThinkPad-W541:~/curl-7.48.0# export LDFLAGS="-L/lib/x86_64-linux-gnu/" root@carlo-ThinkPad-W541:~/curl-7.48.0# ./configure --with-ssl
但似乎没有任何效果,结果总是一样的:
[...] configure: Configured to build curl/libcurl: curl version: 7.48.0 Host setup: x86_64-unknown-linux-gnu Install prefix: /usr/local Compiler: gcc SSL support: no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} ) SSH support: no (--with-libssh2) zlib support: enabled GSS-API support: no (--with-gssapi) TLS-SRP support: no (--enable-tls-srp) resolver: default (--enable-ares / --enable-threaded-resolver) IPv6 support: enabled Unix sockets support: enabled IDN support: no (--with-{libidn,winidn}) Build libcurl: Shared=yes, Static=yes Built-in manual: enabled --libcurl option: enabled (--disable-libcurl-option) Verbose errors: enabled (--disable-verbose) SSPI support: no (--enable-sspi) ca cert bundle: /etc/ssl/certs/ca-certificates.crt ca cert path: no ca fallback: no LDAP support: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS support: no (--enable-ldaps) RTSP support: enabled RTMP support: no (--with-librtmp) metalink support: no (--with-libmetalink) PSL support: no (libpsl not found) HTTP2 support: disabled (--with-nghttp2) Protocols: DICT FILE FTP GOPHER HTTP IMAP POP3 RTSP SMTP TELNET TFTP root@carlo-ThinkPad-W541:~/curl-7.48.0#
curl 配置的 --with-ssl
选项将使其检查(理想情况下使用)OpenSSL。
您需要先确保您有OpenSSL开发包,以便构建过程可以使用headers并找到相关库等
如果您的系统某处有自定义构建的 OpenSSL,您可以使用 ./configure --with-ssl=/path/to/prefix
.[=13 指出该自定义 OpenSSL 安装树的 root =]
如果仍然不能正确找到和使用 OpenSSL,您应该考虑打开配置在 运行 时创建的文件 config.log
。然后在那里搜索 openssl 并尝试分析其中对 openssl 的检查以及它们失败的原因。