Curl com SSL não funciona no servidor ubuntu

3

Quando tento Curl uma página SSL no meu servidor TLS do Ubuntu 12.04, não funciona:

não página SSL:

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

página 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 

Isso funciona na minha própria máquina (OS X).

Quando eu tento via openSSL:

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

versão openSSL:

$ openssl version
OpenSSL 1.0.1c 10 May 2012
    
por askmike 12.09.2012 / 15:23

2 respostas

5

Você parece ter um erro de digitação.

$ openssl s_client -connect evernote.com:433

A porta 433 não está aberta no host remoto, e é por isso que você recebeu o erro 110 (Conexão recusada).

Tente usar a porta 443 (a porta HTTPS padrão).

Quanto ao curl, posso replicar o problema ao usar evernote.com , mas www.evernote.com funciona corretamente (embora envie um redirecionamento 302 para 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

Isso significa que o servidor eliminou a conexão. Por alguma razão, realmente não quer falar conosco.

Isso provavelmente não é algo que você pode corrigir.

    
por 12.09.2012 / 15:29
1

Houve um problema muito semelhante - houve um problema na negociação do protocolo, o que provavelmente levou a algumas falhas de comunicação com o provedor de criptografia (libs OpenSSL). Tente definir o protocolo seguro explicitamente, por exemplo:

curl --sslv3 # OR
curl --sslv2 # OR
curl --tlsv1
    
por 07.04.2013 / 14:56