web-dev-qa-db-fra.com

Curl avec SSL ne fonctionne pas sur Ubuntu Server

Lorsque j'essaie de coiffer une page SSL sur mon serveur TLS Ubuntu 12.04 TLS, cela ne fonctionnera pas:

Not SSL Page :

$ curl https://evernote.com/ -vv
[the entire webpage]

page SSL :

$ curl https://evernote.com/ -vv
* About to connect() to evernote.com port 443 (#0)
*   Trying 204.154.94.73... connected
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* Unknown SSL protocol error in connection to evernote.com:443 
* Closing connection #0
curl: (35) Unknown SSL protocol error in connection to evernote.com:443 

Cela fonctionne sur ma propre machine (OS X).

Quand je l'essaie via OpenSSL:

$ openssl s_client -connect evernote.com:433
connect: Connection timed out
connect:errno=110

version OpenSSL:

$ openssl version
OpenSSL 1.0.1c 10 May 2012
4
askmike

Vous semblez avoir une faute de frappe.

$ openssl s_client -connect evernote.com:433

Le port 433 n'est pas ouvert sur l'hôte distant, c'est pourquoi vous avez eu une erreur 110 (connexion refusée).

Essayez d'utiliser le port 443 (le port HTTPS standard) à la place.


En ce qui concerne Curl, je peux reproduire le problème lorsque vous utilisez evernote.com, mais www.evernote.com fonctionne correctement (bien qu'il envoie une redirection 302 à https://evernote.com/.

$ curl https://evernote.com/ -vv
* About to connect() to evernote.com port 443 (#0)
*   Trying 204.154.94.73...
* connected
* Connected to evernote.com (204.154.94.73) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -5938 (PR_END_OF_FILE_ERROR)
* Encountered end of file
* Closing connection #0
curl: (35) Encountered end of file

Cela signifie que le serveur a tué la connexion. Pour une raison quelconque, cela ne veut vraiment pas nous parler.

Ce n'est probablement pas quelque chose que vous pouvez corriger.

5
Michael Hampton

Avait un problème très similaire - il y avait une question dans la négociation de protocoles, qui a probablement conduit à une mauvaise communication avec le fournisseur de crypto (OpenSSL Libs). Essayez de définir le protocole sécurisé explicitement, e.g.:

curl --sslv3 # OR
curl --sslv2 # OR
curl --tlsv1
1
Martin Cizek