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
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.
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.