curl: (35) error: 1408F10B: Подпрограммы SSL: ssl3_get_record: неправильный номер версии
Когда я пытаюсь подключиться к любому серверу (например, google.com) с помощью curl (или libcurl), я получаю сообщение об ошибке:
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
Подробный вывод:
$ curl www.google.com --verbose
* Rebuilt URL to: www.google.com/
* Uses proxy env variable no_proxy == 'localhost,127.0.0.1,localaddress,.localdomain.com'
* Uses proxy env variable http_proxy == 'https://proxy.in.tum.de:8080'
* Trying 131.159.0.2...
* TCP_NODELAY set
* Connected to proxy.in.tum.de (131.159.0.2) port 8080 (#0)
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number
* Closing connection 0
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number'
По какой-то причине curl, похоже, использует TLSv1.3, даже если я заставлю его использовать TLSv1.2 с командой --tlsv1.2 (он по-прежнему будет печатать TLSv1.3 (OUT),... "
Я использую новейшую версию Curl и OpenSSL:
$ curl -V
curl 7.61.0-DEV (x86_64-pc-linux-gnu) libcurl/7.61.0-DEV OpenSSL/1.1.1 zlib/1.2.8
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy
Я думаю, что это проблема, связанная с моей установкой программ.
Может кто-нибудь объяснить мне, что означает это сообщение об ошибке?
Ответы
Ответ 1
* Uses proxy env variable http_proxy == 'https://proxy.in.tum.de:8080'
^^^^^
https://
неверно, это должно быть http://
. К самому прокси следует обращаться по HTTP, а не по HTTPS, хотя целевой URL-адрес - HTTPS. Прокси-сервер будет, тем не менее, правильно обрабатывать HTTPS-соединение и поддерживать сквозное шифрование. См. Метод HTTP CONNECT, чтобы узнать, как это делается.