web-dev-qa-db-fra.com

La connexion HTTPS, TLS se bloque et échoue finalement SSL_ERROR_SYSCALL

J'essaie de diagnostiquer correctement un problème sur lequel le serveur que j'ai accès ne semble pas être en mesure de contacter un autre serveur sur Internet via le port 443:

~$ curl https://mydomain.co.uk -vvv
* Rebuilt URL to: https://mydomain.co.uk/
*   Trying 1.2.3.4...
* TCP_NODELAY set
* Connected to mydomain.co.uk (1.2.3.4) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to mydomain.co.uk:443 
* stopped the pause stream!
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to mydomain.co.uk:443

J'ai lu que cela pourrait être à cause des chiffres incompatibles. Je l'ai donc essayé sur un autre serveur sur un réseau différent, mais cette fois, la connexion a été effectuée avec succès:

~$ curl https://mydomain.co.uk -vvv
* Rebuilt URL to: https://mydomain.co.uk/
*   Trying 1.2.3.4...
* TCP_NODELAY set
* Connected to mydomain.co.uk (1.2.3.4) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: C=NA; ST=Some Place; L=Some City; O=MyCompany; OU=Technology; CN=*.mydomain.co.uk
*  start date: Mar 15 00:00:00 2018 GMT
*  expire date: Nov 13 12:00:00 2019 GMT
*  subjectAltName: Host "mydomain.co.uk" matched cert's "mydomain.co.uk"
*  issuer: C=US; O=AniCert Inc; OU=www.anicert.com; CN=NioTrust RSA CA 2019
*  SSL certificate verify ok.
> GET / HTTP/1.1
> Host: mydomain.co.uk
> User-Agent: curl/7.58.0
> Accept: */*
> 
< HTTP/1.1 302 Moved Temporarily
< Server: nginx
< Date: Mon, 25 Feb 2019 17:30:02 GMT
< Content-Type: text/html
< Content-Length: 154
< Connection: keep-alive
< Location: https://www.mydomain.co.uk
< 
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
* Connection #0 to Host mydomain.co.uk left intact

Les deux serveurs que j'ai essayés la commande curl sont les mêmes identiques, les réseaux qu'ils sont différents. Les deux serveurs que j'ai accès à Ubuntu 18.04. Je n'ai pas accès au serveur distant qu'ils essaient à la fois de se connecter. Je dois être capable de pivoter que le problème est/pourrait être.

Donc ce n'est pas le chiffre. Quoi d'autre pourrait causer que la poignée de main TLS suspendue comme ça?

Bravo, Ankur

3
Ankur22

Cela a été résolu. C'était due à la propriété intellectuelle sur la liste noire. Une fois que cela a été retiré, la connexion établie avec succès.

1
Ankur22

Probablement une coïncidence, mais j'ai eu une erreur similaire aujourd'hui. Le processus de serveur ramassant la connexion en quelque sorte à moitié bloqué. Parfois, il a ramassé de bonne heure, les autres fois, il a laissé le client en attendant indéfiniment exactement le même point que vous avez ici. Dû tuer -9 ce processus serveur.

0
Gerrit