GET Запрос работает в браузере, но выдает ошибку SSL_ERROR_SYSCALL в curl - PullRequest
0 голосов
/ 21 февраля 2019

Когда я отправляю запрос на https://DOMAIN:443/path, он работает правильно во всех браузерах, которые я пробовал.Но когда дело доходит до curl (и wget), я получаю сообщение об ошибке.Я уже перекомпилировал openssl и curl (последние версии) без изменений.

curl -vv https://DOMAIN:443/path

Выход

* TCP_NODELAY set
* Подключено к DOMAIN (IPADDRESS) порт 443 (# 0) * ALPN, предлагающий h2
* ALPN, предлагающий http / 1.1
* успешно настроенные местоположения проверки сертификата:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: нет
* TLSv1.3 (OUT), квитирование TLS, клиент hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL при подключении к DOMAIN: 443
* Закрытие соединения 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL при подключении к DOMAIN: 443

версия Curl

curl 7.61.0 (x86_64-pc-linux-gnu) libcurl/7.61.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.4) nghttp2/1.32.1 librtmp/2.3
Release-Date: 2018-07-11
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 25 февраля 2019

Ошибка, о которой я говорил, может произойти, когда брандмауэр блокирует соединения Curl и wget.Эта теория подтверждается следующими фактами:

  • Я получил ту же ошибку, используя разные операционные системы, конфигурации, IP-адреса, и результат был одинаковым.
  • Запрос на основе браузера был успешным.
  • Использование альтернатив curl и wget работало отлично (я использовал aria2 и kurly )

Итак, проблема решена для меня.Я надеюсь, что этот ответ может помочь любому, кто сталкивается с той же проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...