curl é bem-sucedido em uma solicitação https, wget não

7

Quando eu executo curl da linha de comando

curl "https://example.com"

Ele é bem-sucedido imediatamente, retornando o resultado da solicitação.

Quando eu executo o mesmo comando wget

wget https://example.com

Eventualmente termina com "Não é possível estabelecer conexão SSL". sem qualquer mensagem de erro específica. Ele se conecta, mas não pode fazer o handshake SSL. Eu tentei com --no-check-certificate , mas isso não fez diferença - parece estar relacionado ao tempo limite.

No entanto:

wget http://example.com

funciona bem (HTTP vs HTTPS).

Isso também está afetando a chamada de método " file() " do PHP.

Minha pergunta é: o que faria com que o curl conseguisse recuperar uma página (para todos os sites em nosso domínio), mas não o wget ou o interpretador do php? Esta é uma nova questão no fim de semana, o servidor estava bem antes.

(o sistema operacional é o Red Hat Enterprise Linux 6.4)

    
por Resorath 09.12.2013 / 04:28

4 respostas

6

Isso parece um problema ao escolher o protocolo SSL. Por alguma razão, o servidor é exigente quanto ao protocolo. Alguns clientes fazem o palpite certo, outros não.

Com wget , tente por exemplo. --secure-protocol=tlsv1 ou --secure-protocol=sslv3 . Para mais detalhes, veja página do GNU Wget man .

Com PHP, veja esta pergunta sobre SO .

    
por 18.08.2014 / 11:32
4

No Red Hat Enterprise Linux 6.xe em versões anteriores, wget não suporta Indicação do nome do servidor , que é necessário para acessar corretamente um número crescente de sites seguros TLS / SSL, possivelmente incluindo o seu. Por outro lado, curl no RHEL 6 suporta SNI.

A Red Hat está ciente deste problema e lançou uma correção no RHEL 6.6 . O problema também é corrigido no RHEL 7.0.

    
por 09.12.2013 / 06:36
0

Na sua superfície, isso certamente não faz muito sentido. O primeiro passo é confirmar que o wget funciona para ssl (você pode acessar outros sites ssl com o wget?).

Se não: Chase-o como um problema de wget

(Note, se você tentar quatro sites diferentes, e dois deles quebrarem, ainda é um problema)

Outro diagnóstico: o que um navegador faz para o URL https? (chrome e ffox) - eles dão avisos ou eles se conectam corretamente?

    
por 09.12.2013 / 05:18
-1

wget mais recente (1.15) no Centos 6.5

Eu tive que compilar o wget 1.15 e depois substituir o wget do yum

wget http://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz
tar -zxvf wget-1.15.tar.gz
cd wget-1.15
./configure --prefix=/usr/local/bin --with-ssl=openssl
# replace wget, confirm
cp /usr/local/bin/wget /usr/bin/wget
    
por 14.10.2014 / 18:34

Tags