Ошибка Guzzle (35) gnutls_handshake (): неожиданный пакет TLS был получен по HTTP - PullRequest
0 голосов
/ 19 июня 2019

Я отправляю запрос API на другой сервер (http://example.com:8180) с моего сервера и получаю эту ошибку

"cURL ошибка 35: сбой gnutls_handshake (): неожиданный пакет TLS былПолучено. "

Странно то, что когда я тестировал его на локальном и промежуточном сервере, проблем не было.

Разница между производственным и промежуточным сервером заключается в существовании ssl..

Но может ли это быть проблемой ??

Я думаю, что это из-за "php curl", потому что жадность не работает в коде, но curl по команде делает

и я использовал curl без жадности в коде, но все еще не работал.

и я установил CURLOPT_SSL_VERIFYPEER и CURLOPT_SSL_VERIFYHOST false

, но все еще не работал.

и пока я знаю, что SSL не имеет значения, потому что я пытаюсь подключиться к серверу по HTTP, верно?

есть мой скомпилированный php, curl, информация о сервере ниже

PHP Version => 7.2.1

System => Linux ip-x-x-x-x 4.4.0-1060-aws #69-Ubuntu SMP Sun May 20 13:42:07 UTC 2018 x86_64
Build Date => Jan 31 2019 05:39:24
Configure Command =>  './configure'  '--enable-fpm' '--with-openssl' '--with-pdo-mysql' '--enable-mbstring' '--with-libxml-dir' '--enable-intl' '--with-gettext' '--with-mhash' '--with-gd' '--with-pc
re-jit' '--with-zlib' '--enable-bcmath' '--enable-calendar' '--with-zlib-dir' '--with-curl' '--enable-zip'

curl

cURL support => enabled
cURL Information => 7.47.0
Age => 3
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => No
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => Yes
SPNEGO => Yes
SSL => Yes
SSPI => No
TLS-SRP => Yes
HTTP2 => No
GSSAPI => Yes
KERBEROS5 => Yes
UNIX_SOCKETS => Yes
PSL => No
Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtmp, rtsp, smb, smbs, smtp, smtps, telnet, tftp
Host => x86_64-pc-linux-gnu
SSL Version => GnuTLS/3.4.10
ZLib Version => 1.2.8

echo | openssl s_client -connect x.x.x.x:8180
CONNECTED(00000003)
139662896404120:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:794:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 305 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1560955018
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---

1 Ответ

0 голосов
/ 20 июня 2019

Проблема решена.

Я использую laravel и был черный ящик, который является вспомогательной функцией route (). Он устанавливает URL http или https в соответствии с конфигурацией сервера, а рабочий сервер был настроен как https * 1003.*

, поэтому он вызвал ошибку.

...