Я компилирую cURL (версия 7.69.1) с OpenSSL (версия 1.1.1g) на CentOS 7.
Вот что я сделал -
./configure --with-ssl --with-nghttp2 {nghttp2 for adding HTTP/2 feature) make make install
./config make make test make install
(Хотя, я думаю, мне следовало скомпилировать OpenSSL до cURL, но только после компиляции cURL я понял, что моя текущая версия OpeSSL не поддерживает TLS1.3, поэтому мне нужно скомпилировать последнюю версию cURL.)
Теперь, пытаясь получить доступ к сайту через tls1.3, я получаю следующую ошибку:
#curl https://tls1.3.nkn.in --tlsv1.3 -v * Trying 10.40.122.23:443... * Connected to tls1.3.nkn.in (10.40.122.23) port 443 (#0) * OpenSSL was built without TLS 1.3 support * Closing connection 0 curl: (4) OpenSSL was built without TLS 1.3 support
Затем я снова попытался скомпилировать cURL, но заметил следующее утверждение в конфигурации cURL:
checking for OpenSSL headers version... 1.1.1 - 0x1010107fL checking for OpenSSL library version... 1.0.2
Что мне делать, чтобы решить эту проблему?
После нескольких часов устранения неполадок он работает по следующим шагам -
# ./config --prefix=/usr/local/OpenSSL make make install
./configure --with-ssl=/usr/local/OpenSSL --with-nghttp2=/usr/local {nghttp2 for HTTP/2 support} make make install
Следующий результат показывает компиляцию cURL с поддержкой OpenSSL / 1.1.1g И HTTP / 2.
# curl -V curl 7.69.1 (x86_64-pc-linux-gnu) libcurl/7.69.1 OpenSSL/1.1.1g zlib/1.2.7 nghttp2/1.41.0-DEV Release-Date: 2020-03-11 Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS HTTP2 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets
Спасибо.